프로그래밍/DesignPattern (Java)

프록시 패턴대상 객체에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴 프록시 서버서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해줌 Nginx비동기 이벤트 기반의 구조와 다수의 연결을 효과적으로 처리 가능한 웹 서버Node.js 서버 앞단의 프록시 서버로 활용 CloudeFlare전 세계적으로 분산된 서버가 있고 이를 통해 어떠한 시스템의 콘텐츠 전달을 빠르게 할 수 있는 CDN 서비스CDN (Content Delivery Network) : 지리적으로 분산된 서버들을 연결한 네트워크웹 서버 앞단에 프록시 서버로 두어 DDOS 공격 방어나 HTTPS 구축에 쓰임 CORS (Cross-Origin Re..
전략패턴알고리즘 군을 정의하고 캡슐화해서 각각의 알고리즘군을 수정해서 쓸 수 있게 해줍니다전략 패턴을 사용하면 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경할 수 있습니다.옵저버 패턴한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의합니다데코레이터 패턴객체에 추가 요소를 동적으로 더할 수 있습니다.데코레이터를 사용하면 서브클래스를 만들 때보다 훨씬 유연하게 기능을 확장할 수 있습니다.팩토리 메소드 패턴객체를 생성할 때 필요한 인터페이스를 만듭니다.어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정합니다.팩토리 메소드 패턴을 사용하면 클래스 인스턴스 만드는 일을 서브클래스에게 맡기게 됩니다.추상 팩토리 패턴구상 클래스에 의존하..
디자인 원칙애플리케이션에서 달라지는 부분을 찾아내고 달라지지 않는 부분과 분리한다. 구현보다는 인터페이스에 맞춰서 프로그래밍한다. 상속보다는 구성을 활용한다. 느슨한 결합객체들이 상호작용할 수는 있지만, 서로르 잘 모르는 관계주제는 옵저버가 특정 인터페이스를 구현한다는 사실만 앎옵저버는 언제든지 새로 추가할 수 있음새로운 형식의 옵저버를 추가할 때도 주제를 변경할 필요가 전혀 없음 주제와 옵저버는 서로 독립적으로 재사용할 수 있음 주제나 옵저버가 달라져도 서로에게 영향을 미치지는 않음상호작용하는 객체 사이에는 가능하면 느슨한 결합을 사용해야 함 클래스는 확장에는 열려 있어야 하지만 변경에는 닫혀 있어야 함 추상화된 것에 의존하게 만들고 구상 클래스에 의존하지 않게 만들어야 함
디자인 패턴 패턴 - 특정 컨텍스트 내에서 주어진 문제의 해결책컨텍스트 - 패턴이 적용되는 상황문제 - 컨텍스트 내에서 이뤄야 하는 목표를 뜻함해결책 - 제약조건 속에서 누가 적용해도 목표를 이룰 수 있는 일반적인 디자인  생성패턴 싱클턴추상팩토리 팩토리 메서드 프로토타입 빌더    구조데코레이터프록시 퍼사드 컴포지트 어댑터 플라이웨이트 브리지 행동템플릿 메소드 싱글턴 반복자 옵저버 상태 전략 비지터 중재자 인터프리터 메멘토 클래스 템플릿 메소드 펙토리 메소드 어댑터 인터프리터  객체  (나머지) 패턴으로 생각하기 최대한 단순하게이 문제에 어떻게 패턴을 적용할 수 있을까가 아니라 어떻게 하면 단순한게 해결할 수 있을까에 초점을 맞춰야함  디자인 패턴은 만병통치약이 아님패턴을 사용할 때는 그 패턴이 설꼐한..
류가든
'프로그래밍/DesignPattern (Java)' 카테고리의 글 목록