OCP

SOLID 원칙의 목적은 중간 수준의 소프트웨어 구조가 아래와 같도록 만드는 데 있다. 변경에 유연하다. 이해하기 쉽다. 많은 소프트웨어 시스템에 사용될 수 있는 컴포넌트의 기반이 된다. 중간 수준? - 모듈 수준에서 작업할 때 적용할 수 있음. 즉, 코드 수준보다는 조금 상위에서 적용되며 모듈과 컴포넌트 내부에서 사용되는 소프트웨어 구조를 정의하는데 도움을 줌 단일 책임 원칙 (SRP - Single Responsibility Principle) 하나의 모듈(단일 모듈)은 변경의 이유가 오직 하나뿐이어야 한다. 하나의 모듈은 하나의 액터에 대해서만 책임져야 한다. 액터? 해당 변경을 요청하는 집단을 뜻함 모듈이 단 하나의 일만 해야 한다라는 뜻이 아니다. 단 하나의 일만 해야하는 원칙은 함수다. 함수는..
객체 설계시 주의해야할 점 객체지향에 갓 입문한 사람들이 가장 쉽게 빠지는 함정은 상태를 중심으로 객체를 설계하는 것이다. 보통 먼저 객체에 필요한 상태가 무엇인지 결정한 후 그 상태에 필요한 행동을 결정을 하게 된다. 자동차에는 연료량과 바퀴를 가지고 있다 → 자동차가 달리면 연료량이 줄어든다. 이렇게 상태를 먼저 결정하고 행동을 나중에 결정한다면 설계에 나쁜 영향을 주게 되는데.. 첫째, 상태를 먼저 결정할 경우 캡슐화가 저해된다. 상태에 초점을 맞출 경우 상태가 객체 내부로 깔끔하게 캡슐화되지 못하고 공용 인터페이스에 그대로 노출되버릴 확률이 높아진다. 둘째, 객체를 협력자가 아닌 고립된 섬으로 만든다. 객체가 필요한 이유는 애플리케이션 문맥내 다른 객체와 협력하기 위함이다. 상태를 먼저 고려하는 ..
깡냉쓰
'OCP' 태그의 글 목록