[SOLID] 개방 폐쇄 원칙(Open-closed principle)
개방 폐쇄 원칙(Open-closed principle) 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 합니다. 풀어 보면 다음과 같습니다. 기능을 변경하거나 확장할 수 있으면서 그 기능을 사용하는 코드는 수정하지 않는다. FlowController(사용하는 코드)에서 ByteSource(interface)를 사용한다면, 메모리에서 byte를 읽어 오는 기능을 추가해야 할 때 MemoryByteSource클래스를 구현해서 FlowController의 코드를 수정하지 않고 기능을 추가할 수 있습니다. 즉, 확장되는 부분을 ByteSource로 추상화했기 때문에 확장에는 열려있고 (기능을 사용하는 코드의) 변경에는 닫혀 있다고 표현한 것입니다. 개방 폐쇄 원칙이 깨질 대의 주요 증상 추상화와 다형성이 O..
2022.05.25