좋은 소프트웨어는 '유연한' 소프트웨어이다. 그리고 유연한 소프트웨어란 고객의 요구 사항에 따라, 쉽게 그 기능을 변경하거나 추가할 수 있는 제품을 말한다. 따라서 고객의 요구사항이 변화함에 따라, 개발자가 제품의 기능을 쉽게 변화할 수 있는 구조를 설계하도록 돕는 아
디자인 패턴은 소스코드나 개발에 필요한 리소스를 어떤 방식으로 구조를 만들고 사용할 지를 말하는 것이다. 개발을 계속 진행하게 되면 자연스럽게 규모가 커지는데 유지보수의 불편함을 느끼게 된다. 이 불편함을 최소화 하기 위해서 디자인 패턴을 적용하는 것이다. 디자인 패턴은 많은 종류가 있는데 이는 개발자들이 자신의 프로젝트의 구조를 어떻게 짜냐에 따라 달라지...
Command 패턴이란 보통 프로그래밍에서 요청 (또는 메시지) 이란, 나중에 실행했으면 하는 행동을 표현한다. 서비스에 비동기적으로 API를 호출하는 것과 비슷하다고 보면 된다. (이와 달리 이벤트는 이미 발생한 사건을 주로 표현한다) 요청과 그 요청이 실행되는 작업 사이에 레이어를 추가하여, 각 작업을 추상화된 명령 객체로 처리하는 디자인 패턴이다....
메시지나 이벤트를 보내는/받는 시점과 처리하는 시점을 디커플링한다.
캐시 최적화는 굉장히 큰 주제다. 캐시 때문에, 데이터를 어떻게 두느냐가 성능에 직접적인 영향을 미친다. 자료구조를 잘 만들어서 처리하려는 값이 메모리 내에서 서로 가까이 붙어 있도록 하는 것이 목표다.
기능을 제공하는 객체와 기능을 이용하는 객체 사이에 직접적인 참조가 일어나지 않도록 하기 위해 의존성을 관리하는 테크닉으로, 직접 참조 없이 해당 클래스의 기능을 활용하거나 의존 관계를 별도의 구성 파일로 관리할 수 있다.