좋은 객체 지향 설계의 5가지 원칙 (SOLID)
1. SRP: 단일 책임 원칙(single responsibility principle) 말 그대로 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임에 대한 기준은 모호하고 정의내릴 수 없다. 설계시 응집도는 높게, 결합도는 낮게 설계하면 단일 책임의 원칙을 따를 가능성이 높아진다. 한 클래스에서 다양한 책임을 가지게 되면 그만큼 다른 역할을 수행하는 클래스끼리의 결합될 가능성이 높아지게 되고 이는 곧, 한가지의 변경사항을 위해 여러가지 클래스들을 변경해야할 가능성이 높아져 유지보수에 취약하다. 2. OCP: 개방-폐쇄 원칙 (Open/closed principle) 확장에는 열려 있으나 변경에는 닫혀 있어야 한다 즉, 기능 확장시 기존 소스의 변경없이 확장이 되야한다 이를 위해 인터페이스(역할)와 ..
2021.01.12