본문 바로가기
반응형

#SOLID원칙5

SOLID 원칙 - 의존성 역전 원칙, DIP (Dependency Inversion Principle) SOLID 원칙 - 의존성 역전 원칙, DIP (Dependency Inversion Principle) 의존성 역전 원칙이란? (DIP, Dependency Inversion Principle) 의존성 역전 원칙은 소프트웨어 모듈을 느슨하게 결합하기 위한 구체적인 방법론 입니다. 고수준 모듈에서 저수준 모듈로 설정된 종래의 종속 관계가 역전되어, 저수준의 모듈 구현 세부 사항과 무관하게 고수준 모듈을 구현할 수 있도록 하는 원칙입니다. 의존성 역전 원칙을 잘 지키기 위해서는 "저수준 모듈이 고수준 모듈에서 정의한 추상 타입에 의존하도록 하며, 고수준 모듈은 저수준 모듈의 구현에 의존해서는 안 된다" 준수하면 됩니다. 좀 더 쉽게 말씀드리면 "자신보다 변하기 쉬운 것에 의존하지 않도록 한다"라고 이해하시.. 2022. 10. 15.
SOLID 원칙 - 인터페이스 분리 원칙, ISP (Interface Segregation Principle) SOLID 원칙 - 인터페이스 분리 원칙, ISP (Interface Segregation Principle) 인터페이스 분리 원칙이란? (ISP, Interface Segregation Principle) 인터페이스 분리 원칙은 "클라이언트는 자신이 사용하지 않는 메소드에는 의존하지 않아야된다"라는 의미로 사용되는 원칙입니다. 인터페이스나, 상속을 하였는데, 사용하지 않는 메소드가 있다면 분리를 해줘야 한다는 원칙입니다. 이 원칙이 지켜지면 무슨 이점이 있는지 바로 코드 예제로 살표보겠습니다. ISP 를 준수하지 않는 코드의 예 interface Machine{ string name; int showCurrentTime(); int playMP3(string path); int calculateAdd(.. 2022. 5. 11.
SOLID 원칙 - 리스코프 치환 원칙, LSP (Liskov Substitution Principle) SOLID 원칙 - 리스코프 치환 원칙, LSP (Liskov Substitution Principle) 리스코프 치환 원칙이란? (리스코프 치환 원칙, LSP ,Liskov Substitution Principle) 리스 코프 치환 원칙은 "특정 메소드가 상위타입을 인자로 사용할때, 그 타입의 하위 타입을 대입했을때도 정상동작해야한다"라는 내용입니다. 리스코프 치환 원리는 바바라 리스코프가 1987년 컨퍼런스 기조연설 《데이터 추상화》에서 처음 소개한 내용입니다. 리스코프 치환 원칙의 수학적 정의는 다음과 같습니다. "Φ(x)가 T형의 객체 x에 대해 증명 가능한 성질이라고 하자. 그러면 S가 T형의 하위 유형인 S형의 객체 y에 대해서는 Φ(y)가 참이어야 한다." 예를 들어서 설명을 해볼까요? "Φ.. 2022. 5. 9.
SOLID 원칙 - 개방폐쇄원칙, OCP (Open Closed Principle) SOLID 원칙 - 개방폐쇄원칙, OCP (Open Closed Principle) 개방폐쇄원칙 원칙이란? (개방폐쇄원칙, OCP ,Open Closed Principle) 개방형 폐쇄 원칙은 객체 지향 설계의 5가지 SOLID 원칙 중 하나이다. 객체 지향 프로그래밍에서 개방폐쇄의 원리는 "소프트웨어 엔티티(클래스, 모듈, 기능 등)는 확장을 위해 개방되어야 하지만 수정에 대해서는 폐쇄되어야 한다" 라는 원칙입니다. 이 원칙을 지킨다면, 소스 코드를 수정하지 않고 동작을 확장하도록 허용할 수 있습니다. 또한, 기능 변경을 하려면 많은 곳에서 코드를 변경하지 않고도 할 수 있어야 한다는 것을 의미합니다. 이상적으로는 새로운 코드를 추가하고, 오래된 코드를 거의 또는 전혀 변경하지 않아도 새로운 기능을 구.. 2022. 5. 7.
SOLID 원칙 - 단일책임원칙, SRP (Single Responsibility Principle) SOLID 원칙 - 단일책임원칙, SRP (Single Responsibility Principle) 단일 책임원칙이란? (단일책임원칙, SRP ,Single Responsibility Principle) 단일 책임 원칙(Single-responsibility principle, SRP)은 컴퓨터 프로그램의 모든 기능/모듈이 기능의 한 부분에 대해 책임을 져야 하며, 그 부분을 캡슐화해야 한다는 원칙입니다. 그 모듈, 클래스 또는 기능의 서비스는 그 책임을 좁게 설정해야합니다. SPR 는 커플링된 책임들을 여러 클래스를 나누라는 원칙이기도 합니다. 또한, 클래스는 단일 기능에 초점을 맞추고, 그 클래스는 단 하나의 작업만 수행해야 한다는 것을 의미합니다. SRP를 준수해야하는 이유 - 더 많은 기능을 가.. 2022. 5. 5.
반응형