Backend
home
📏

원칙과 패턴

생성일
2025/01/24 05:52
태그
개방 폐쇄 원칙(Open-Closed Principle-OCP)
클래스나 모듈은 확장에는 열려 있어야 하고 변경에는 닫혀 있어야 한다.
높은 응집도와 낮은 결합도(High Coherence and low coupling)
응집도가 높다는 것은 하나의 모듈이 하나의 책임 또는 하나의 관심사에 집중되어 있다는 의미.
변화가 일어날 때 해당 모듈에서 변하는 부분이 크다. ⇒ 변경 비용이 적게 든다.
책임과 관심사가 다른 모듈과는 낮은 결합도, 즉 느슨하게 연결된 형태를 유지하는 것이 바람직하다.
전략 패턴
자신의 기능 맥락(context)에서, 필요에 따라 변경이 필요한 알고리즘을 인터페이스를 통해 통째로 외부로 분리시키고, 이를 구현한 구체적인 알고리즘 클래스를 필요에 따라 바꿔서 사용할 수 있게 하는 디자인 패턴
package tobyspring.hellospring; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Sort { public static void main(String[] args) { List<String> scores = Arrays.asList("z", "b", "spring", "java"); Collections.sort(scores, (o1, o2) -> o1.length() - o2.length()); scores.forEach(System.out::println); } }
Java
복사
제어의 역전(Inversion of Control)
제어권 이전을 통한 제어관계 역전 - 프레임워크의 기본 동작 원리