디자인패턴
-
[정보처리기사 필기] 디자인 패턴 (Design Pattern), 행위 패턴(2)CS/정보처리기사 2023. 8. 16. 14:07
행위패턴 ① 비지터(Visitor) 각 클래스 데이터 구조로부터 처리 기능을 분리하여 별도의 클래스를 만들어 놓고 해당 클래스의 메서드가 각 클래스를 돌아다니며 특정 작업을 수행하도록 만드는 패턴으로, 객체의 구조는 변경하지 않으면서 기능만 따로 추가하거나 확장할 때 사용하는 디자인 패턴 특정 구조를 이루는 복합 객체의 원소 특성에 따라 동작을 수행할 수 있도록 지원하는 행위 ▶ Visitor 패턴의 클래스 다이어그램 ▶ 등장역할 등장인물 역할 Visitor(방문자)의 역할 - 데이터 구조의 구체적인 요소(ConcreteElement 역할)마다 'xxxx을 방문했다'라는 visit(xxxx) 메서드를 선언 - visit(xxxx)는 xxxx을 처리하기 위한 메서드이고, 실제의 코드는 ConcreteVis..
-
[정보처리기사 필기] 디자인 패턴 (Design Pattern), 행위 패턴(1)CS/정보처리기사 2023. 8. 16. 13:13
행위 패턴 ① 중재자(Mediator) 객체 지향 설계에서 객체의 수가 너무 많아지면 서로 간 통신을 위해 복잡해져서 객체 지향에서 가장 중요한 느슨한 결합의 특성을 해칠 수 있기 때문에 이를 해결하는 방법으로 중간에 이를 통제하고 지시할 수 있는 역할을 하는 중재자를 두고, 중재자에게 모든 것을 요구하여 통신의 빈도수를 줄여 객체 지향의 목표를 달성하게 해주는 디자인 패턴 상호 작용의 유연한 변경을 지원 ▶ Mediator 패턴의 클래스 다이어그램 ▶ 등장역할 등장인물 역할 Mediator(중재자)의 역할 - Colleague 역할과 통신을 해서 조정을 실행하기 위한 인터페이스(API)를 결정 ConcreteMediator(구체적인 중재자)의 역할 - Mediator 역할의 인터페이스(API)를 구현해..
-
[정보처리기사 필기] 디자인 패턴 (Design Pattern), 구조 패턴CS/정보처리기사 2023. 8. 16. 05:16
구조 패턴 ① 브리지(Bridge) 기능의 클래스 계층과 구현의 클래스 계층을 연결하고, 구현부에서 추상 계층을 분리하여 추상화된 부분과 실제 구현 부분을 독립적으로 확장할 수 있는 디자인 패턴 구현뿐만 아니라, 추상화된 부분까지 변경해야 하는 경우 활용 ▶ Bridge 패턴의 클래스 다이어그램 ▶ 등장역할 등장인물 역할 Abstraction의 역할 - '기능의 클래스 계층'의 최상위에 있는 클래스 - Implementor 역할의 메소드를 사용해서 기본적인 기능만을 제공하는 클래스 RefinedAbstraction의 역할 - Abstraction 역할에 기능을 추가한 역할 Implementor의 역할 - '구현의 클래스 계층'의 최상위에 있는 클래스 - Abstraction 역할의 API를 구현하기 위한..
-
[정보처리기사 필기] 디자인 패턴 (Design Pattern), 개념및 유형 + 생성 패턴CS/정보처리기사 2023. 8. 16. 04:07
¶ 디자인 패턴 개념 디자인 패턴은 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴이다. 디자인 패턴을 참고하여 개발할 경우 개발의 효율성과 유지보수성, 운용성 등의 품질이 높아지며, 프로그램의 최적화에 도움이 된다. ¶ 디자인 패턴 유형 유형 설명 생성 - 객체 인스턴스 생성에 관여, 클래스 정의와 객체 생성 방식을 구조화, 캡슐화를 수행하는 패턴 - 생성 디자인 패턴의 종류로는 Builder, Prototype, Factory Method, Abstract Factory, Singleton이 있음 구조 - 더 큰 구조 형성 목적으로 클래스나 객체의 조합을 다루는 패턴 - 구조 디자인 패턴의 종류로는 Bridge, Decorator, Facade..