ComputerScience,Engineering/디자인패턴 7

2.B) Structural Pattern - Object

2.B.1) Adapter(Object) : Target을 만들고 Target의 구현 Adpater를 만들고, 사용하여 요청을 주고 받음. 지난번 2.A.1)Adapter Class 참고. Adapter(Class) : 상속을 사용. implements. Adapter(Object) : Composition 사용. 개체 구성에 따라 달라짐 cf) https://gogetem.tistory.com/entry/%EC%96%B4%EB%8C%91%ED%84%B0-%ED%8C%A8%ED%84%B4-Class-Adaptor-vs-Object-Adaptor 클라이언트 -> request() -> 어댑터 - translatedRequest() -> 어댑티. 클라이언트 = Implements Target 어댑터 = Im..

2.A) Structural Pattern - Class

Adapter(Class) : 상속을 사용. implements. Adapter(Object) : Composition 사용. 개체 구성에 따라 달라짐 이 부분 참고 : https://gogetem.tistory.com/entry/%EC%96%B4%EB%8C%91%ED%84%B0-%ED%8C%A8%ED%84%B4-Class-Adaptor-vs-Object-Adaptor 2.A.1) Adapter Pattern(for Class) 사용예시 ex) MediaPlayer Impletments인 mp3 Player에서 FormatAdapter를 통해 mp4, mkv 재생 Java(자바) 디자인패턴 - 어댑터(Adapter) 패턴 설명 및 예제소스 (tistory.com) Java(자바) 디자인패턴 - 어댑터(A..

1.B) Creational Pattern - Object

1.B.1 Abstract Factory(interface - implements) 연관된 서브 클래스를 특정 그룹으로 묶어 한번에 교체하는 패턴 어떤경우에 사용? 특정 라이브러리를 배포하는데 OS별로 지원하는 기능이 상이한 경우 추상 팩토리 패턴을 사용해 OS별 기능 변경을 통합적으로 변경 팩토리 메소드 패턴과 유사하면서도 사용 용도가 다르다는 것을 알 수 있습니다. 물론 추상 팩토리 패턴에 팩토리 메소드 패턴을 차용할 수도 있습니다. 이 포스트에서는 사용하지 않았지만 MachineFactory를 인터페이스가 아닌 추상 클래스(abstract class)로 선언하고 public static MachineFactory getFactory( String arg )등의 메소드를 이용해서 인자값으로 어떤 팩토..

1.A) Creational Pattern - Class

1.A.1 팩토리 메소드 패턴(Factory Method Pattern) : 객체를 만들어내는 부분을 서브 클래스Sub-Class에 위임하는 패턴. 즉, new 키워드를 호출하는 부분을 서브 클래스에 위임 어떤경우에 사용? : 직접 객체를 생성해 사용하는 것을 방지, 클래스간의 결합도 낮추고 싶을 때. => 새로운 로봇이 추가 되고 새로운 팩토리가 추가 된다 하더라도 메인 프로그램에서 변경할 코드는 최소화 메인 프로그램에서 new 키워드가 없다는 것을 확인 할 수 있습니다. 메소드 콜로 객체 생성 객체 생성을 팩토리 클래스에 위임한 결과. 메인 프로그램은 어떤 객체가 생성 되었는지 신경 쓰지 않고 단지 반환된 객체를 사용만 하면 됩니다. 새로운 로봇이 추가 되고 새로운 팩토리가 추가 된다 하더라도 메인 ..

디자인 패턴 정리 - GOF(Gang of Four) 패턴

A. Creational Pattern 객체를 생성하는데 관련된 패턴들 객체가 생성되는 과정의 유연성을 높이고 코드의 유지를 쉽게 함 B. Structural Pattern 프로그램 구조에 관련된 패턴들 프로그램 내의 자료구조나 인터페이스 구조 등 프로그램의 구조를 설계하는데 활용할 수 있는 패턴들 C. Behavioral Pattern 반복적으로 사용되는 객체들의 상호작용을 패턴화 해놓은 것들 디자인 패턴 정리 - GOF(Gang of Four) 디자인 패턴들 » Jay's Blog (realzero0.github.io) 디자인 패턴 정리 안녕하세요~ Jay의 블로그입니다. realzero0.github.io 디자인 패턴 요약 🚩 생성 1) Builder : 생산 단계를 캡슐화 하여 구축 공정을 동일하..