관리 메뉴

HAMA 블로그

왜 패턴이 중요한가? 본문

소프트웨어 사색

왜 패턴이 중요한가?

[하마] 이승현 (wowlsh93@gmail.com) 2020. 8. 13. 15:42

https://www.dezeen.com/2014/08/29/campus-netzwerk-office-format-elf-architekten-perforated-aluminium/

패턴은 추상적인 "의도"를 보다 명확한 의미로 "규정" 을 짓습니다.

- 그로 인해 선배로 부터 값진 경험을 물려 받게 해 줍니다. 
- 그로 인해 의사소통을 원할하게  만들어 줍니다.
- 그로 인해 자신의 생각에 확신을 갖게 합니다.
- 그로 인해 장점과 단점을 드러내 줍니다. 모든 패턴에는 장점과 단점이 있습니다. (모든 기술도 마찬가지)  
- 그로 인해 연관 패턴들과의 계층적 구조를 보여주어 큰 규모에서의 설계를 가능하게 합니다.
- 그로 인해 시야가 넓어집니다. 


Gof 디자인패턴 

Creational 

패턴명 의도 기타
Factory Method    
Abstract Factory    
Builder    
Prototype    
Singleton    


Sturctural

패턴명 의도 기타
Adapter    
Bridge    
Composite    
Decorator    
Facade    
FlyWeight    
Proxy    


B
ehavioral

패턴명 의도 기타
Interpreter    
Template Method    
Chain of Responsibility    
Command    
Iterator    
Mediator    
Memento    
Observer    
State    
Strategy    
Visitor    


켄트백 구현 패턴 

     
     
     
     
     


멀티쓰레드 디자인패턴 

패턴명 의도  기타 
Single Threaded Execution     
Immutable    
Balking    
Producer-Consumer    
Read-Write Lock    
Thread-Per-Message    
Worker Thread    
Future     


POSA-2 (네트워킹) 디자인패턴 

이벤트 핸들링 패턴 

Reactor    
Proactor    
Asynchronous Completion Token    
Acceptor-Connector    

Synchronization Patterns

Scoped Locking    
Strategized Locking    
Thread-Safe Interface    
Doblle-Checked Locking Optimization    

Concurrency Patterns

Active Object    
Monitor Object    
Half-Sync/Half-Async    
Leader/Followers    
Thread-Specific Storage     


POSA-3 (리소스) 디자인패턴 

Resource Acquisition

Lookup    
Lazy     
Eager    
Partial    

Resource Lifecycle

Caching    
Pooling    
Coordinator    
Resource LifeCycle Manager    

Resource Release

Leasing    
Evictor    

 

메세지 큐 디자인패턴 

(work queue) Round Robin Dispatch 워커에게 하나씩 배분한다.  
(work queue) Fair Dispatch 워커에게하나씩 배분하되, 작업시간도 감안해서 균등히 배분한다.  
(pub/sub) Exchange  여러 소비자에게 한번에 다 나눠준다.  
(routing) Direct Exchange 특정 데이터만 선택해 가져간다.  
(topic) Topic Exchanges 패턴에 기반해 소비자가 가져간다.  
(request/response) rpc 보내고 바로 받는다.  

 


마이크로서비스 디자인패턴 

SAGA    
회로차단     
백오프    
타임아웃    
상태점검    
서비스탐색     
부하분산 - 동일한것을 여러개로 복제
- 리소스가 다른것을 분리 
- 서비스가 다른 것을 분리 
 
캐싱     
동기/비동기 콜     
이벤트 소싱     
서비스별 DB     
격벽      


엔터프라이즈 어플리케이션 디자인패턴 

도메인 논리 패턴    
데이터 원본 아키텍처 패턴    
객체-관계형 동작 패턴    
객체-관계형 구조 패턴    
웹 프레젠테이션 패턴
   
분산 패턴
   
오프라인 동시성 패턴
   
세션 상태 패턴
   


Spring 프레임워크 디자인 패턴  www.baeldung.com/spring-framework-design-patterns

J2EE 프리젠테이션 패턴 

Intercepting Filter 패턴    
Front Controller 패턴    
Context Object 패턴    
Application Controller 패턴    
View Helper 패턴    
Composite View 패턴    
Service to Works 패턴    
Dispatcher View 패턴
   


J2EE 비지니스 티어 패턴 

Business Delegate 패턴    
Service Locator 패턴    
Session Facade 패턴    
Application Service 패턴    
Business Object 패턴    
Composite Entity 패턴    
Transfer Object 패턴    
Transfer Object Assembler 패턴    
Value List Handler 패턴
   
통합 티어 패턴
   
Service Activator 패턴
   
Domain Store 패턴
   
Web Service Broker 패턴
   

 

기업통합 디자인패턴 

Content based Router    
Message Filter    
Dynamic Router    
Recipient List    
Splitter    
Aggregator    
Resequencer    
Content Enricher    
Content Filter    
Pipes and Filter     


데이터 모델 패턴

     
     
     
     


DDD 디자인패턴 

     
     
     
     


빅데이터 디자인패턴 

람다     
     
     
     

 

메모리 매니지먼트 디자인패턴 

고정된 크기     
고정되지 않은 크기     
연속 할당 후 한번에 릴리즈     
Buddy     
tcmalloc    


데이타 베이스 디자인 패턴 

     
     
     
     
     


AWS 디자인 패턴 


GIT 디자인패턴 

패턴매칭 (데이터 분석) 디자인패턴 

크립토 이코노미 디자인패턴 

 

3 Comments
댓글쓰기 폼