"소프트웨어는 무조건 변한다.": 요구사항, 기술, 프레임워크, 데이터베이스, 프로토콜, 정책 등이 달라짐에 따라 소프트웨어 구조가 변경될 수 있음을 항상 염두해야 한다. 즉 새로운 의존 관계를 생산하거나, 기존 의존 관계를 변경시킨다. 의존 관계에 대처하는 자세변경을
"상호작용하는 객체의 집합"객체지향 프로그램은 어떠한 목적을 이루기 위해 협업하도록 구성되어지는 객체들의 집합이다. 그리고 이 협업을 위해 메시지를 교환하는 관계이다. 코드 재사용을 증가시키고, 유지보수를 쉽게 만드는 장점을 얻기 위해서 '캡슐화', '다형성', 상속'
객체의 속성과 행위를 하나로 묶고, 실제 구현 내용 일부를 외부에 감추어 은닉하는 것이다.캡슐화는 인터페이스(interface)와 구현(implementation)을 분리하는 것에서 시작한다. 내부의 구현을 분리하고, 인터페이스를 객체의 외부에 제공하여 접근할 수 있
변경되는 부분은 변경되지 않는 부분과 분리해야 한다.변경되는 부분을 분리하면 변경으로 인한 영향을 최소화 할 수 있다.또한 코드의 가독성이 높아져서 이해하기 쉬워지고, 수정 범위가 작아지므로 유지보수성이 높아지게 된다.작게는 함수 설계 시 적용할 수 있고, 크게는 클래
간단 요약 포스팅: https://velog.io/@jinh2352/SW-%EC%84%A4%EA%B3%84%EC%9D%98-%EA%B3%A0%EA%B3%A0%ED%95%99프레임워크는 소프트웨어의 구체적인 부분에 해당하는 '설계'와 '구현'을 재사용이 가능하게