정의 > A module should have one, and only one, reason to change. 하나의 모듈은 단 하나의 변경 사유를 가져야 하는 것이 single responsibility principle(이하 SRP)의 정의입니다. Reason
정의 > A software artifact should be open for extension but closed for modification. 소프트웨어의 artifact(class, module, function, etc.)는 상속에 대해 open되어 있어야
정의 > What is wanted here is something like the following substitution property: If for each object o1 of type S there is an object o2 of type T such
Clients should not be forced to depend on methods that they do not use."Client는 사용하지 않는 method에 강제로 의존해서는 안된다."가 interface segregation principled(이하 I
정의 > - High-level modules should not depend on low-level modules. Both should depend on abstractions. > - Abstractions should not depend on details. D