* OCP (Open-Closed Principle; 개방 폐쇄 원칙)
> Software entities should be open for extension, but closed for modification
(클래스는 확장에 열려 있고 변경에는 닫혀 있어야 한다. 기존 클래스의 변경을 최소화 해야 한다)
------------------클린 아키텍처 ------------------
> 1980년대에 Bertrand Meyer (버트란드 마이어) 에 의해 유명해진 원칙이다.
> 기존 코드를 수정하기보다는 반드시 새로운 코드를 추가하는 방식으로 시스템의 행위를 변경할 수 있도록 설계해야만 소프트웨어 시스템을 쉽게 변경할 수 있다는 것이 이 원칙의 요지다.
> Artifcat (소프트웨어 개체) 는 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다.
- 즉, 행위는 확장할 수 있어야 하지만, 이때 개체를 변경해서는 안 된다.
- 요구사항을 살짝 확장하는 데 소프트웨어를 많이 수정해야 한다면, 아키텍트는 엄청난 실패에 맞닥뜨린 것이다
'SW 공학 > 아키텍처 & 디자인' 카테고리의 다른 글
///SOLID Principle (0) | 2020.10.03 |
---|---|
/////DIP (Dependency Inversion Principle) (0) | 2020.09.26 |
/////ISP (Interface Segregation Principle) (0) | 2020.09.26 |
/////LSP (Liskov Substitution Principle) (0) | 2020.09.26 |
/////SRP (Single Responsibility Princicple) (0) | 2020.09.26 |