Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
design_pattern:design_pattern [2017/10/31 09:16] – [기초 용어] ledyxdesign_pattern:design_pattern [2021/02/07 03:24] (current) – [Design Pattern] ledyx
Line 4: Line 4:
 https://en.wikipedia.org/wiki/Design_Patterns#Patterns_by_Type https://en.wikipedia.org/wiki/Design_Patterns#Patterns_by_Type
  
-{{tag>Architecture Modeling DesignPattern}}+{{tag>Architecture Modeling Design_Pattern}}
  
 = 기초 용어 = = 기초 용어 =
Line 16: Line 16:
  
   * 투과적 인터페이스(API)   * 투과적 인터페이스(API)
-    * 연쇄적인 상속으로 하위 클래스들에게 API(Method)들이 감추어지지 않고 보이는 것.+    * 연쇄적인 상속으로 하위 클래스들에게 API(Method)들이 감추어지지 않고 보이는 것. 상속/구현을 통해 투영/투과. 
 +    * [[Adapter Pattern]]
     * [[Decorator Pattern]]     * [[Decorator Pattern]]
 +    * [[Proxy Pattern]]
  
  
Line 29: Line 31:
  
 ^  GoF에 따른 분류  ^^^ ^  GoF에 따른 분류  ^^^
-|  <hi yellow>Creational</hi>  |  <hi cyan>Structural</hi>  |  <hi pink>Behavioral</hi>  |+|  <bg yellow>Creational</bg>  |  <bg cyan>Structural</bg>  |  <bg pink>Behavioral</bg>  |
  
  
 == 기초 == == 기초 ==
-  * <hi pink>[[design pattern:Iterator pattern|Iterator]]</hi+  * <bg pink>[[design pattern:Iterator pattern|Iterator]]</bg
-  * <hi cyan>[[design pattern:Adapter pattern|Adapter]]</hi>+  * <bg cyan>[[design pattern:Adapter pattern|Adapter]]</bg>
  
 == 하위 클래스에게 위임 == == 하위 클래스에게 위임 ==
 상속과 관련된 디자인 패턴 상속과 관련된 디자인 패턴
  
-  * <hi pink>[[design pattern:Template method pattern|Template method]]</hi+  * <bg pink>[[design pattern:Template method pattern|Template method]]</bg
-  * <hi yellow>[[design pattern:Factory method pattern|Factory method]]</hi>+  * <bg yellow>[[design pattern:Factory method pattern|Factory method]]</bg>
  
 == 인스턴스 생성 == == 인스턴스 생성 ==
-  * <hi yellow>[[design pattern:Singleton pattern|Singleton]]</hi+  * <bg yellow>[[design pattern:Singleton pattern|Singleton]]</bg
-  * <hi yellow>[[design pattern:Prototype pattern|Prototype]]</hi+  * <bg yellow>[[design pattern:Prototype pattern|Prototype]]</bg
-  * <hi yellow>[[design pattern:Builder pattern|Builder]]</hi+  * <bg yellow>[[design pattern:Builder pattern|Builder]]</bg
-  * <hi yellow>[[design pattern:Abstract factory pattern|Abstract factory]]</hi>+  * <bg yellow>[[design pattern:Abstract factory pattern|Abstract factory]]</bg>
  
  
Line 52: Line 54:
 복잡하게 뒤섞이기 쉬운 프로그램을 분리해서 생각 복잡하게 뒤섞이기 쉬운 프로그램을 분리해서 생각
  
-  * <hi cyan>[[design pattern:Bridge pattern|Bridge]]</hi+  * <bg cyan>[[design pattern:Bridge pattern|Bridge]]</bg
-  * <hi pink>[[design pattern:Strategy pattern|Strategy]]</hi>+  * <bg pink>[[design pattern:Strategy pattern|Strategy]]</bg>
  
  
Line 59: Line 61:
 언뜻 보기에 서로 다른 것을 **통일적으로 조작**할 수 있도록 하거나, **취급 방법을 바꾸지 않고** 기능을 추가하는 패턴과 **<fc red>위임</fc>**에 대한 내용 언뜻 보기에 서로 다른 것을 **통일적으로 조작**할 수 있도록 하거나, **취급 방법을 바꾸지 않고** 기능을 추가하는 패턴과 **<fc red>위임</fc>**에 대한 내용
  
-  * <hi cyan>[[design pattern:Composite pattern|Composite]]</hi+  * <bg cyan>[[design pattern:Composite pattern|Composite]]</bg
-  * <hi cyan>[[design pattern:Decorator pattern|Decorator]]</hi>+  * <bg cyan>[[design pattern:Decorator pattern|Decorator]]</bg>
  
  
 == 구조를 돌아다니기 == == 구조를 돌아다니기 ==
-  * <hi pink>[[design pattern:Visitor pattern|Visitor]]</hi+  * <bg pink>[[design pattern:Visitor pattern|Visitor]]</bg
-  * <hi pink>[[design pattern:Chain of responsibility pattern|Chain of responsibility]]</hi>+  * <bg pink>[[design pattern:Chain of responsibility pattern|Chain of responsibility]]</bg>
  
 == 단순화 == == 단순화 ==
 클래스들이 복잡한 관계에 있을 때, 단순하게 만들기 클래스들이 복잡한 관계에 있을 때, 단순하게 만들기
  
-  * <hi cyan>[[design pattern:Facade pattern|Facade]]</hi+  * <bg cyan>[[design pattern:Facade pattern|Facade]]</bg
-  * <hi pink>[[design pattern:Mediator pattern|Mediator]]</hi>+  * <bg pink>[[design pattern:Mediator pattern|Mediator]]</bg>
  
 == 상태 관리 == == 상태 관리 ==
-  * <hi pink>[[design pattern:Observer pattern|Observer]]</hi+  * <bg pink>[[design pattern:Observer pattern|Observer]]</bg
-  * <hi pink>[[design pattern:Memento pattern|Memento]]</hi+  * <bg pink>[[design pattern:Memento pattern|Memento]]</bg
-  * <hi pink>[[design pattern:State pattern|State]]</hi>+  * <bg pink>[[design pattern:State pattern|State]]</bg>
  
 == 낭비 없애기 == == 낭비 없애기 ==
-  * <hi cyan>[[design pattern:Flyweight pattern|Flyweight]]</hi+  * <bg cyan>[[design pattern:Flyweight pattern|Flyweight]]</bg
-  * <hi cyan>[[design pattern:Proxy pattern|Proxy]]</hi>+  * <bg cyan>[[design pattern:Proxy pattern|Proxy]]</bg>
  
 == 클래스로 표현 == == 클래스로 표현 ==
 명령, 문법규칙과 같은 이외의 것을 클래스로 표현 명령, 문법규칙과 같은 이외의 것을 클래스로 표현
  
-  * <hi pink>[[design pattern:Command pattern|Command]]</hi+  * <bg pink>[[design pattern:Command pattern|Command]]</bg
-  * <hi pink>[[design pattern:Interpreter pattern|Interpreter]]</hi>+  * <bg pink>[[design pattern:Interpreter pattern|Interpreter]]</bg>
design_pattern/design_pattern.1509441364.txt.gz · Last modified: (external edit)