-
컴포짓(composite) 패턴
디자인 패턴 ·컴포짓 패턴은 객체들을 트리 구조로 구성하여 단일 객체와 복합 객체를 동일하게 다룰 수 있는 디자인 패턴입니다.
이 패턴을 사용하면 개별 객체와 그들의 조합체를 일관된 방식으로 다룰 수 있으며, 계층 구조를 표현하고 조작할 수 있습니다. -
브릿지(Bridge) 패턴
디자인 패턴 ·브릿지 패턴은 추상화와 구현을 분리하여 두 개의 계층을 독립적으로 확장하고 변화시키는 디자인 패턴입니다.
이 패턴은 두 개의 계층을 연결하는 브릿지 역할을 하는 객체를 사용하여 유연성과 확장성을 강화합니다. -
어댑터(Adapter) 패턴
디자인 패턴 ·어댑터 패턴은 서로 호환되지 않는 인터페이스를 가진 두 개의 클래스를 함께 작동할 수 있게 해주는 디자인 패턴입니다.
이 패턴은 기존의 클래스들을 수정하지 않고, 그들 간의 상호작용을 중개해주는 어댑터 클래스를 도입하여 호환성을 확보합니다. -
프로토타입(prototype) 패턴
디자인 패턴 ·기존에 존재하는 객체를 복사해 생성하는 디자인 패턴이다
똑같은 상태를 가진 객체를 생성하는데 유리하다 -
빌더(builder) 패턴
디자인 패턴 ·객체 생성 시 필요한 다양한 매개변수를 설정할 수 있는 방법을 제공하는 디자인 패턴이다
복잡한 객체 생성과정을 숨길 수 있고, 여러 매개변수를 한번에 설정할 수 있다 -
추상팩토리(abstract factory) 패턴
디자인 패턴 ·관련된 여러 객체를 생성하는 디자인 패턴이다.
관련된 객체들의 의존성을 한곳에 집중시킬 수 있다 -
팩토리메소드(factory method) 패턴
디자인 패턴 ·객체를 생성하는 인터페이스를 만들고, 서브클래스에 객체 생성을 위임하는 객체 생성 패턴이다.
주 목적은 객체를 생성하는 Creator, 생성되는 객체인 Product간에 결합도를 낮춰
Creator와 Product간의 의존성을 줄이는 것이다. -
싱글톤(singleton) 패턴
디자인 패턴 ·하나의 인스턴스만 생성하고 관리하는 디자인 패턴이다.
두개 이상의 인스턴스가 존재해서는 안되거나 여러 인스턴스 생성을 막아
메모리 낭비를 줄이기 위해 사용한다. -
디자인 패턴을 학습해야하는 이유
디자인 패턴 ·디자인 패턴은 코드 설계시 사용할 수 있는 일종의 템플릿으로, 사용하면 코드의 재사용성, 확장성, 유연성, 편의성, 성능적으로 이점이 있습니다.
-
ArchUnit 예제
JUnit5 ·패키지와 클래스에 규칙을 적용하는 예제