본문 바로가기

Computer Science/디자인 패턴3

[디자인 패턴] Factory 디자인 패턴 의미 각 모듈의 세분화된 역할이나 모듈들 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현방안을 설계할 때 참조할 수 있는 전형적인 해결방식 또는 예제 즉, 로직에 따라 반복되는 패턴 생성 패턴(Creational Pattern) 객체 생성과 관련된 패턴 객체의 생성과 참조 과정을 캡슐화하여 객체가 생성되거나 변경되어도 프로그램의 구조에 영향을 크게 받지 않도록 하여 프로그램에 유연성을 더해줌 Factory object를 찍어 낼수있는 공장 공장 하나로 여러개의 오브젝트를 만든다. 장점 복잡한 오브젝트의 생성을 클라이언트가 다룰 필요가 없다. 클라이언트는 요청을 하여 팩토리에 넘겨주기만 하면 됨 추가 기능을 구현하기 어렵다. -> Factory Method을 사용하면 된다. 최상위.. 2023. 4. 7.
[디자인 패턴] 디자인 패턴 디자인 패턴 객체지향 프로그램에서 유연하고 확장성 있는 설계가 가능한 예시를 제시 객체 지향 프로그래밍 특성 추상화 캡슐화 상속 다형성 객체 지향 디자인 원칙 (Object Oriented Design Principle) 애플리케이션의 달라지는 부분을 찾아내고, 달라지지 않는 부분과 분리한다. 새로운 요구사항이 있을때 마다 달라지는 부분을 분리해야한다. 구현보다는 인터페이스에 맞춰서 프로그래밍을 한다. 상속보다는 합성을 사용한다. Abstract class vs Concrete class(구상 클래스, 구체 클래스) Class Inheritance(상속) vs Object composition(합성) Interface inheritance(인터페이스를 구현한 클래스를 유연하게 사용) vs Implemen.. 2023. 3. 5.
[디자인 패턴] 디자인 패턴 종류 의미 각 모듈의 세분화된 역할이나 모듈들 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현방안을 설계할 때 참조할 수 있는 전형적인 해결방식 또는 예제 즉, 로직에 따라 반복되는 패턴 생성 패턴 (Creational Pattern) 객체 생성과 관련된 패턴 객체의 생성과 참조 과정을 캡슐화하여 객체가 생성되거나 변경되어도 프로그램의 구조에 영향을 크게 받지 않도록 하여 프로그램에 유연성을 더해줌 구조 패턴 (Structural Pattern) 클래스나 객체들을 조합하여 더 큰 구조로 만들 수 있게 해주는 패턴 구조가 복잡한 시스템을 개발하기 쉽게 도와줌 행위 패턴 (Behavioral Pattern) 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴 하나의 객체로 수.. 2023. 2. 22.