This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| design_pattern:abstract_factory_pattern [2017/10/28 15:44] – [Client] ledyx | design_pattern:abstract_factory_pattern [2021/02/07 03:24] (current) – [Abstract Factory Pattern] ledyx | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| * 부품의 구체적인 구현에는 주목하지 않고, **인터페이스(API)에 주목**. | * 부품의 구체적인 구현에는 주목하지 않고, **인터페이스(API)에 주목**. | ||
| * **추상적인 공장**(Abstract Factory)에서 **추상적인 부품**을 조립하고 **추상적인 제품**을 완성한다. | * **추상적인 공장**(Abstract Factory)에서 **추상적인 부품**을 조립하고 **추상적인 제품**을 완성한다. | ||
| + | * 많은 수의 연관된 하위 클래스를 특정 그룹으로 묶어 한번에 교체.\\ ex) 특정 라이브러리 배포시 OS별로 지원하는 기능이 다를 때, OS별 기능 변경을 통합적으로 변경. | ||
| - | {{tag> | + | {{tag> |
| = Factory = | = Factory = | ||
| Line 390: | Line 391: | ||
| * API만 이용! 말그대로 <fc red> | * API만 이용! 말그대로 <fc red> | ||
| - | <sxh java> | + | <sxh java ; highlight: [13]> |
| import factory.Factory; | import factory.Factory; | ||
| import factory.LinkItem; | import factory.LinkItem; | ||
| Line 431: | Line 432: | ||
| - | Page page = factory.createPage(className, | + | Page page = factory.createPage(className, |
| page.add(trary_community); | page.add(trary_community); | ||
| page.add(tray_searchEngine); | page.add(tray_searchEngine); | ||
| Line 467: | Line 468: | ||
| </ | </ | ||
| </ | </ | ||
| - | < | + | < |
| </ | </ | ||
| </ | </ | ||
| - | |||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | <li> | ||
| - | 커뮤니티 | ||
| - | <ul> | ||
| - | < | ||
| - | < | ||
| - | </ul> | ||
| - | </ | ||
| - | 검색 엔진 | ||
| - | <ul> | ||
| - | < | ||
| - | < | ||
| - | <li> | ||
| - | Naver | ||
| - | <ul> | ||
| - | < | ||
| - | < | ||
| - | </ul> | ||
| - | </ | ||
| - | </ | ||
| - | < | ||
| - | </ | ||
| Line 541: | Line 516: | ||
| <br> | <br> | ||
| </ | </ | ||
| - | < | + | < |
| </ | </ | ||
| </ | </ | ||
| - | |||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | <div> | ||
| - | <div style=" | ||
| - | < | ||
| - | |||
| - | <div> | ||
| - | < | ||
| - | |||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | <br> | ||
| - | |||
| - | <div style=" | ||
| - | < | ||
| - | |||
| - | <div> | ||
| - | < | ||
| - | |||
| - | < | ||
| - | |||
| - | <div style=" | ||
| - | < | ||
| - | |||
| - | <div> | ||
| - | < | ||
| - | |||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | <br> | ||
| - | </ | ||
| - | </ | ||
| - | <br> | ||
| - | </ | ||
| - | < | ||
| - | </ | ||
| - | |||