OCP 원칙은 확장에는 자유롭게 열려있고 변경에는 닫혀있다는 객체지향 설계 핵심 원칙이다.특정 코드에는 변경을 통해 기능을 확장하고 다양하게 만들려는 성질이 있고 특정 코드는 고정되어 변하지 않을려는 성질을 가진다. 또한 변경을 통해 기능을 다양하게 하려는
실제 클라이언트는 UserService 의 유저 레벨 수정 메서드를 사용하기 위해 핵심기능을 구현한 UserServiceImpl 객체를 사용하는 것이 아니라 부가기능을 적용하고 핵심기능을 위임한 UserServiceTx 를 사용하게된다.프록시자신이 클라이언트가 사용할려
이 책의 저자는 스프링의 개발 철학을 이해하고 사용하는 것이 매우 중요하다고 말한다. 왜 만들어졌는지, 추구하는 가치는 무엇인지를 이해하고 사용하는 것이 단순히 주어진 기능들을 기계처럼 사용하는 것보다 훨씬 주체적이고 발전 가능성 높은 개발을 할 수 있기 때문이다.No
아키키텍쳐는 어떤 경계 안에 존재하는 내부 구성요소들이 어떤 책임을 가지고 어떤 방식으로 관계를 맺으며 동작하는지에 대한 규정이라고 할 수 있다. 정적인 구조뿐만 아니라 동적인 행위와 깊은 연관이 있음을 유의하자.객체 레벨에서 객체간 관계를 설정한다거나 구조를 그릴때