패턴 3

7. Command Pattern(커맨드 패턴)

Command Design Pattern(커맨드 패턴) Define 커맨드 패턴을 이용하면 요구사항을 객체로 캡슐화 할 수 있으며, 매개변수를 써서 여러 가지 다른 요구 사항을 집어넣을 수도 있습니다. 또한 요청 내역을 큐에 저장하거나 로그로 기록할 수도 있으며, 작업취소 기능도 지원 가능합니다. Structure - 커맨드 객체는 일련의 행동을 특정 리시버하고 연결시킴으로써 요구사항을 캡슐화 한 것을 의미한다.- 행동과 리시버를 한 객체에 집어넣고, 외부에는 execute()메소드 하나만 외부에 공개한다. 이 메소드 호출에 의해 리시버에서 일련의 작업이 처리된다.- 외부에서는 어떤 객체가 리시버인지, 그 리시버가 무슨일을 하는지 알 수 없고 그냥 execute()메소드만 호출하면 요구사항이 처리된다.A..

6. Singleton Pattern(싱글턴 패턴)

Singleton Design Pattern(싱글턴 패턴) Define 싱글턴 패턴은 해당 클래스의 인스턴스가 하나만 만들어지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴. Structure>- 클래스에서 자신의 단 하나뿐인 인스턴스를 관리하도록 만든다. 그리고 다른 어떤 클래스에서도 자신의 인스턴스를 추가로 만들지 못하도록 한다. 인스턴스가 필요하면 반드시 클래스 자신을 거치도록 한다.- 또한 어디스든 이 인스턴스에 접근할 수 있도록 만든다. - getInstance()메소드는 정적 메소드로 어디서든 호출 가능,- 생성자를 private로 선언하여 외부에 노출이 되지 않도록 한다.Advantage - 시스템 상 전역으로 관리되고 단하나의 클래스에서만 정보가 유지되는 것을 원할 때 사용..

3. Decorate Pattern(데코레이트 패턴)

Decorator Design Pattern(데코레이터 패턴) Define 객체에 추가적인 요건을 동적으로 첨가한다. 데코레이터는 서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공한다. Structure- 데코레이터(OptionalWrapper)의 슈퍼클래스(Interface)는 자신이 장식하고 있는 객체(CoreFunctionality)의 슈퍼클래스와 같다. Example) Advantage- 클래스의 기능들이 동적으로 변경될 소지가 있을 때 사용- 클래스에 동적으로 추가하는 기능들이 앞으로도 더 추가될 수 있을 때 사용- 클래스에 기능들을 여러개로 조합 될 때 미리 정의해두기 너무 많은 클래스가 생성되므로, 즉시 생성이 가능하게 할 때 사용- 한 객체를 여러개의 데코레이터로..

반응형