Hi

SOLID 본문

Programming/Java

SOLID

SharingWorld 2018. 3. 28. 11:31

#SOLID


=> 절차 지향 프로그래밍

OOP

=> 객체 지향 프로그래밍


좋은 설계

SOLID - 로버트 C 마틴(엉클 밥)


'마틴 파울러'

리팩토링: 기능에는 변화 X

구조를 개선하는 작업


SRP: Single Responsibility Principle

=> 단일 책임의 원칙

모듈은 단 하나의 책임을 가져야 한다.

class, 변수, 함수, 패키지

=> 유지보수

=> 이름 => rename



OCP: Open Close Principle

=> 개방 폐쇄의 원칙

=> 목표

모듈은 수정에는 닫혀 있고, 확장에는 열려 있어야 한다.

=> 새로운 기능이 추가되어도 기존 코드는 수정되면 안된다.



LSP: Liskov Substitution Principle

=> 리스코프 대체(치환) 원칙

=> 자식 클래스는 부모 클래스로 대체될 수 있어야 한다.

=> 자식 클래스의 공통의 기능은 부모로부터 비롯되어야 한다.

=> Rect is-a Shape

=> 다형성


ISP: Interface Segregation Principle

=> 인터페이스 분리 원칙

=> 인터페이스?

: 범용 인터페이스 보다 세분화된 인터페이스가 낫다.

; 인터페이스를 이용하면, 교체 가능한 유연한 설계


DIP: Dependency Inversion Principle

=> 의존관계 역전 원칙

=> 클라이언트는 구체적인 클래스가 아닌 추상 클래스나

인터페이스에 의존해야 한다.

=> 약한 결합 / 의존성 주입



'Programming > Java' 카테고리의 다른 글

스택을 만들어보자  (0) 2018.03.29
Iterator의 순회  (0) 2018.03.28
추상클래스와 인터페이스의 차이점  (0) 2018.03.28
Iterator  (0) 2018.03.28
컴퓨터 네트워크  (0) 2018.03.28