Design Patterns with Javascript
디자인 패턴과 자바스크립트
디자인 패턴은 확장성과 유지 보수를 용이하게 하는 설계를 통해, 코드 변경에 비용이 적게 드는 프로그램을 만드는 것을 말한다. OOP에서는 부모 클래스와 자식 클래스 사이의 행위가 일관성 있어야 하며, 새로운 요구사항과 프로그램 변경에 영향을 덜 받는 설계가 중요하다.
싱글톤 패턴
싱글톤 패턴은 단 하나의 인스턴스를 생성해 사용하는 디자인 패턴이다. 이를 통해 메모리 낭비를 방지하고 시스템 런타임, 환경 세팅에 대한 정보 등 인스턴스가 여러 개일 때 생길 수 있는 문제를 해결할 수 있다.
퍼사드 패턴
퍼사드 패턴은 인터페이스를 통해 시스템 내부의 기능들에 접근할 수 있도록 도와주는 패턴이다. 클라이언트는 단순화된 인터페이스인 퍼사드에만 집중하면 되고, 시스템 내부에서 발생하는 일들은 퍼사드가 처리해준다.
옵서버 패턴
옵서버 패턴은 객체의 상태 변화를 관찰하는 옵저버 목록을 등록해, 상태 변화가 있을 때마다 옵저버들에게 통보하는 디자인 패턴이다. 이를 통해 객체의 복잡한 다중 조건문을 피하고, 알고리즘을 다양하게 변경할 수 있다.
전략 패턴
전략 패턴은 동일한 문제를 해결하는 여러 알고리즘을 각각의 전략 클래스로 정의해두고, 필요에 따라 동적으로 전략을 변경하는 디자인 패턴이다. 이를 통해 기존 코드를 변경하지 않고도 기능을 추가하거나 변경할 수 있으며, 코드의 복잡성을 줄일 수 있다.
각각의 패턴을 적절하게 사용하면 유연하고 확장성이 좋은 프로그램을 구현할 수 있다.