-
객체지향의 디자인 원칙
- is...a... 관계 보단 has...a... 관계를 활용 한다. ( 상속보다는 구성을 활용한다. )
- 특정 구현이 아닌, 인터페이스 맞춰서 프로그래밍 한다.
- 구현이 아닌 인터페이스에 맞춰서 프로그래밍 한다.
- 애플리케이션에서 변경이 일어나는 부분을 찾아내서 바뀌지 않는 부분으로부터 분리시킨다. ( 캡슐화 한다 )
- 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 한다.
- 클래스는 확장에 대해서는 열려 있지만 변경에 대해서는 닫혀 있어야 한다.
- 추상화 된 것에 의존하고 구현 된 것에 의존하지 않도록 한다.
-
의존성 뒤집기 원칙 ( Dependency Inversion Principle )
- 추상화된 것에 의존하도록 만들어야 한다.
- 구현에 의존하도록 만들지 않아야 한다.
- 어떤 변수에도 구현된 클래스에 대한 레퍼런스를 저장하지 않는다.
- 구상 클래스에서 유도된 클래스를 만들지 말아야 한다.
- 베이스 클래스에서 이미 구현이 되어있는 메서드를 오버라이드 하지 않는다.
-
Notifications
You must be signed in to change notification settings - Fork 0
Sang-Hyuk/go_design_pattern
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published