본문 바로가기
반응형

디자인패턴5

디자인패턴) 브릿지패턴 (Bridge Pattern) 브릿지 패턴 (Bridge Pattern) 브릿지 패턴의 역할은 '기능 계층과 구현 계층을 분리하기 '이다. 기능 계층과 구현 계층을 분리한다는 것은 의존성이 낮아진다는 것을 의미하고 쉽게 수정과 추가가 가능하다는 것을 말한다. 새로운 기능을 추가하고 싶은 경우는 다음과 같다. -상위 클래스는 기본적인 기능을 가지고 있다. -하위 클래스에서는 상위 클래스를 상속하고 새로운 기능을 추가한다. 새로운 구현을 추가하고 싶은 경우 -상위 클래스는 추상 메소드에 의해 인터페이스를 정의한다. -하위 클래스는 구상 메소드에 의해 그 인터페이스를 구현한다. ★★☆☆☆ 2020. 4. 25.
디자인패턴) 빌더 패턴 (Builder Pattern) 빌더 패턴 (Builder Pattern) Builder 패턴은 건축물을 올라가듯이 구조를 가지고 있는 것을 Build라고 하는데 지반을 다지고 골격을 세우고 조금씩 쌓아갑니다. 우선 전체를 구성하고 있는 각 부분을 단계적으로 만들고 조립하는 형태로 취한다. 실제 구성의 Builder 클래스에서는 추상 클래스로 하위 크래스에서 실제 기능을 구현합니다. ★★☆☆☆ 2020. 4. 6.
디자인패턴) 프로토타입 패턴(ProtoType Pattern) 프로토타입 패턴(ProtoType Pattern) 프로토타입 패턴은 기본 베이스를 가지고 새로운 인스턴스를 만드는 과정에서 너무 많은 타입이 나와 정리가 되지 않는 경우 주로 사용한다. 클래스에서 인스턴스를 만들지 앟고 프로토타입 패턴을 쓰는 이유는 종류가 너무 많아서 클래스로 정리가 힘든 경우에 프로토타입 패턴을 사용해서 재사용성이 늘어날 수 있다. 그냥 클래스로 정의를 해서 구현하게 되면 기능당 클래스가 한 개가 되기 때문에 기하급수적으로 늘어난다. framework와 인스턴스를 분리하고 싶은 경우와 클래스로부터 인스턴스 생성이 어려운 경우에도 사용하면 좋다. 내부에 이용할 클래스의 이름이 잇으면 그 클래스와 분리해서 재이용할 수 없기 때문에 재사용성을 늘리기 위해서 프로토타입 패턴을 사용한다. 개인.. 2020. 4. 5.
디자인패턴) 싱글톤 (Singleton Pattern) 싱글톤 (Singleton Pattern) 프로그램을 실행할 때 대부분 많은 인스턴스들이 생성됩니다. 그러나 클래스의 인스턴스가 단 한 개이어야 한 경우가 있습니다. 데이터를 참조해서 사용하는 경우 나절대로 1개밖에 존재하지 않는 것을 보증하고 싶을 때 사용하는 디자인 패턴이다. 인스턴스가 유일무이하게 단 한개만 존재하는 패턴을 Singleton 패턴이라고 한다. 싱글톤 클래스는 static 메소드로 인스턴스를 내부에 포함하고 있다. 싱글톤은 동일한 인스턴스를 반환한다. 대부분은 매니져 클래스에서 싱글톤을 많이 사용한다. 다양한 Singleton 방식에 대해서는 다음을 참고하면 된다: [링크] Singleton pattern - Wikipedia In software engineering, the sin.. 2020. 4. 4.
디자인패턴 ) 템플릿 패턴(Template Pattern) 템플릿 패턴(Template Pattern) 템플릿 패턴은 상위 클래스에서는 실제 구현부가 아닌 추상 메서드만 구현하고 하위 클래스에서 실제 기능을 구현한다. 하위 클래스에 따라서 실제 기능이 달라지기 때문에 재사용성 및 독립성이 보장이 된다. 추상화 클래스로 Unit에서 Move만 정의하고 Unit을 상속받은 Air Unit과 Land Unit에서 실제 해당 기능의 구현을 구현한다. Air Unit의 Move는 하늘을 이동하는 기능을 구현하고 Land Unit에서는 땅에서 이동을 하는 기능을 구현한다. 이렇게 정의만 하고 기능 구현을 하위 클래스에서 작성을 하고 실제 메서드를 호출은 Move를 하면 된다. 템플릿 패턴을 사용하게 되면 로직을 공통화할 수 있고, 상위 클래스와 하위 클래스의 연계가 가능하.. 2020. 4. 2.
반응형