Architecture (아키텍쳐)/OOP 3

DIP (The Dependency Inversion Principle)

OOP의 핵심 개념 중 하나인 SOLID 중 D에 해당하는 원칙이다. DIP (The Dependency Inversion Principle) High level modules should not depend on low level modules. Both should depend on abstractions. Abstractions should not depend on details. Details should depend on abstractions. DIP란 위의 내용에 기반을 둔 내용이다. 즉, 상위 레벨의 모듈은 하위 레벨의 모듈에 의존해서는 안되며 그 abstractions에 의존해야한다. 또한, Abstractions은 detail한 내용에 의존해서는 안되며 Detail 또한 Abstract..

GRASP

OO Design Principle 중 가장 널리 알려진 것은 SOLID 원칙입니다. 2021.04.25 - [Architecture (아키텍쳐)/DesignPattern] - SOLID Principle 하지만 GRASP 도 그에 못지 않게 널리 알려져있고 중요한 원칙입니다. GRASP란 무엇일까요? Craig Larman에 의해 만들어졌으며 GRASP는 General Responsibility Assignment Software Pattenrs의 약자로 한국어로 직역해보면 "일반적인 책임 할당 소프트웨어 패턴" 입니다. 즉 GRASP는 상호작용하는 Object에 어떻게 Responsibilities를 할당하는 지에 대한 내용을 담고 있다고 할 수 있습니다. 여기서 Responsibility란 정확히 ..

SOLID Principle

SOLID Principle 이란? SOLID Principle은 RC Martin이 만든 Software Design Principles입니다. 아래와 같은 5가지 원칙의 첫 글자를 따서 만들었습니다. The Single Responsibilities Principle (SRP) The Open-Closed Principle (OCP) The Liskov Substitution Principle (LSP) The Interface Segregation Principle (ISP) The Dependency Inversion Principle (DIP) 이 원칙들은 결국 자주 변하는 것과 변하지 않는 것을 분리하여 자주 변하는 것이 변하는 것을 의존하고 변하는 것이 자주 변하는 것에 의존하지 않는 것에 ..

반응형