목록설계패턴(Design Pattern) (17)
초보개발자 긍.응.성
상황에 따라 달라지는 부분이 있지만 전체적인 알고리즘의 뼈대가 유지되어야 할 때 사용될 Template Method Pattern에 대해 알아보자. 1. Purpose Identifies the framework of an algorithm, allowing implementing classes to define the actual behavior. 알고리즘의 틀을 알고있으며, 실질적인 행동들을 클래스에서 정의해주려 할때 2. Use When A single abstract implementation of an algorithm is needed. Common behavior among subclasses should be localized to a common class. Parent classes s..
Publish/Subscriber Model이라고도 불리는 Observer Pattern에 대해 알아보자. 1. Purpose Lets one or more objects be notified of state changes in other objects within the system. 어떤 객체의 소식을 하나 이상의 객체에서 변화때 마다 전달받기 위해 2. Use When Loose coupling is needed for communications State changes in one or more objects should trigger behavior in other objects Broadcasting capabilities are required An understanding exists th..
Strategy Pattern은 언제 사용해야하는 패턴일까? 1. Purpose Defines a set of encapsulated algorithms that can be swapped to carry out a specific behavior 행위를 캡슐화하여 동적으로 자유롭게 바꿀수 있게 해준다. 2. Use When The only difference between many related classes is their behavior. Multiple versions or variations of an algorithm are required. The behavior of a class should be defined at runtime. Conditional statements are comp..
1. Hierarcy of Pattern Knowledge Design Principle은 설계단계가 아니다. 지켜야할 원리들을 기술한 것이며 이를 지키는것이 자연스럽게 패턴을 가진 소스를 작성하게 해주므로 OO Principles을 따라 소스를 작성하는 습관을 기르는 것이 좋다. 2. OO Principles Program to interface not implementations - 직접 구현하는것 보다 interface를 이용하라 Favor object composition over class inheritance - 클래스 상속보다는 멤버 변수로 클래스를 가져라 (Composition & Delegation) Encapsulate what varies - 변하는 것들을 묶어내라 Strive for..
설계패턴을 배우기전에 필요한 OOP 개념들을 되짚는 수업이다. 1. ADT(Abstract Data Type) 기능의 구현 부분을 나타내지 않고 순수한 기능이 무엇인지 나열한 것 프로그램 구성 및 개별 컴파일을 향상시키며, 구현에 대해 정보를 은닉할 수 있는 장점이 있다. 2. Inheritance Class Y가 Class X를 상속하면 - Y는 X의 모든 method와 Data를 상속받는다. - Y is a X가 성립된다 (모든 인스턴스 Y는 인스턴스 X가 될 수 있다). 3. Polymorphism 여러 가지 형태를 가질 수 있는 능력을 의미한다. 같은 이름을 갖는 함수가 여러 클래스에서 선언되어 다른 방식으로 수행될 수 있다. 1) Runtime polymorphism (Dynamic polymo..