to know and utilize design patterns better
to know what best(at least not worst) practice is
Design pattern is something that represents solution to problems which is common when developing software.
That is to say, Typical solution for common problems arise during developing software.
- Knowing which trials-and-errors former developers had experienced
- Reusing successful and well-structured designs
- Utilizing expert knowledge embedded on design patterns
- Effective communication among developers
- e.g.You could use the word Adapter for better communication on your design
the book: Design Patterns: Elements of Reusable Object-Oriented Software
authored by: Erich Gamma
, John Vlissides
, Ralph Johnson
, Richard Helm
, well known as GoF
and the website: Refactoring Guru
If all you have is a hammer, everything looks like a nail.
Let's not try to apply it everywhere. There are some cases simpler code would do just fine.
-
GoF 디자인 패턴
여기서부터는 Notion + 코드로 작성. README에 노션 링크가 들어간다.
- 팩토리 패턴
- 싱글턴 패턴
- 커맨드 패턴
- 어댑터 패턴
- 퍼사드 패턴
- 템플릿 메소드 패턴
- 반복자 패턴
- 컴포지트 패턴
- 상태 패턴
- 프록시 패턴
- 복합 패턴(MVC)
-
디자인 원칙
- 캡슐화 원칙
- 인터페이스 우선 원칙
- 구성 우선 원칙(Composition)
- 느슨한 결합 원칙
- OCP
- 의존성 뒤집기 원칙
- 최소 지식 원칙
- 할리우드 원칙
- 단일 역할 원칙
기존
- Creational Patterns
- Factory Method
- Abstract Factory
- Builder
- Prototype
- Singleton
- Structural Patterns
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
- Behavioral Patterns
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template Method
- Visitor
Contents can be varied, simplified or omitted.
다루는 내용이 달라질 수 있고, 일부는 간략화되거나 생략될 수 있음.