* Singleton 패턴
Singleton 패턴: 하나의 클래스 타입에 대해서 오직 하나의 객체만 생성되도록 보장되는 패턴
클래스를 아래와 같이 선언해 사용할 수 있다. 해당 클래스가 필요할 땐 getInstance로 받아와 사용!
Public class King {
private King() {}
private static King self = null;
public static King getInstance() {
if(self == null){
self = new King();
}
return self;
}
* Bridge 패턴
Bridge 패턴: 기능 계층과 구현 계층의 분리로 시스템의 확장성과 유지보수성을 높이는 패턴
Draft, Publication : 기능 계층
Display, SimpleDisplay, CaptionDisplay : 구현 계층
Draft, Display 의 관계 : Bridge 패턴
MVC 패턴에서 M과 V과 구분되는 것과 비슷한 패턴인 것 같다. 그것의 아주 초기단계?

*Template 패턴
Template 패턴 : 기능에 대해 실행되어야 할 각 단계에 대한 순서만 정해두고, 세부 구현은 상황에 맞게 다르게 구현할 수 있도록 하는 패턴
템플릿 선언, 템플릿 구현 을 각각 구현, 템플릿 구현에서 상황에 맞도록 구체적으로 구현.
동일한 형태의 작업을 하는데, 상황에 따라 다른 경우 적용할 수 있을 것 같다.
출력하는 방식을 바꿀때? 지금 당장 적용할 수 있는 게 떠오르진 않는다.

* Adapter 패턴
Adapter 패턴: 클래스 사용시 클래스에 대한 코드 변경 안 하고 원하는 형태로 변환해 사용하는 패턴
- Adapter의 한 예시 :
public class TigetAdapter extends Animal {
private Tiger tiger;
public TigerAdapter (String name) {
super(name);
tiger = new Tiger();
tiger.setName(name);
}
@Override
public void sound() {
System.out.println("tiger.getName() + " ");
tiger.roae();
}

'코딩 > Software Architecture' 카테고리의 다른 글
| [GoF Design Pattern] Prototype (0) | 2022.12.03 |
|---|---|
| [GoF Design Pattern] Proxy (0) | 2022.12.02 |
| [GoF Design Pattern] Factory Method, Observer (0) | 2022.12.01 |
| [GoF Design Pattern] 개요, Strategy, Iterator (0) | 2022.11.19 |
| [소프트웨어 아키텍처] MVC Pattern & OSI 7 Layer (0) | 2022.11.10 |