'디자인 패턴' 태그의 글 목록
본문 바로가기
728x90
반응형

디자인 패턴6

2022-07-11-중재자패턴-1부-패턴소개 01.중재자 패턴 여러 객체들간에 의사소통하는것 추상화해서 의존성을 낮추는 패턴 각각의 객체들이 타이트하게 결합되어 있는데 이때 , 코드 구현 변경, 테스트하기 어렵고 재사용하기 어려움 그래서 이를 적용한것을 예로 들면 층간소음, 공동으로 사는 사람과의 의사소통 등 개인 집을 방문하면서 방문하는것이아니고 관리 사무소에 연락하고 일을 진행하는것 같은것 이 중재자 패턴이 적용된 실생활 예시 관재탑에서 이륙, 착륙할때 공간 만들어줘야해서 의사 소통 필요한데 관재탑이라는 중재자를 통해 연락하는것 같은것이 가장 가까이 있는 예시 02.코드로 알아보는 중재자 패턴 02.1 Hotel public class Hotel { public static void main(String[] args) { Guest guest .. 2022. 7. 18.
22-04-12-플라이웨이트패턴-1부-패턴소개 01.플라이웨이트를 들어가면서.. 가벼움이라는 의미 복싱체급에 플라이웨이트라는 체급이있는데 무튼 가벼운 축에 속한 것 애플리케이션에서 많은 인스턴스를 만드는 것에서 사용되는 패턴 많은 인스턴스를 만들면 메모리 사용을 많이하게 되어 out of memory생김 이를 적용해 공통된 부분 따로 모아서 사용함 자주변하고, 변하지 않는 부분 분리해서 변하지 않는 부분을 활용함 01.1 코드로 알아보는 디자인패턴 public class Client { public static void main(String[] args) { Character c1 = new Character('h', "white", "Nanum", 12); Character c2 = new Character('e', "white", "Nanum",.. 2022. 4. 12.
22.03.02_템플릿메소드패턴_패턴소개 알고리즘의 구조를 어떤 과정을 알고리즘이라고 하는 그 구조를 읽고 오고 처리하는 처리하는 것을 템플릿으로 제공하고 그중에서 구체적인 방법 제공하는 방법 처리하는 방법 출력하는 방법등을 서브 클래스가 구체적으로 구현할 수 있게 하는 패턴 상속을 사용하고 이패턴이 필요해지는 상황을 소스코드로 보자 public clas Client{ public static void main(String[] args){ FileProcessor fileProcessor = new FileProcessor("number.txt"); int result = fileProcessor.process(); System.out.println(result); } } import java.io.BufferedReader; import ja.. 2022. 3. 3.
22.02.20_전략패턴의장점과단점 여러 알고리즘을 캡슐화 하고 상호 교환 가능하게 만드는 패턴 01.장점 새로운 전략을 추가하더라도 기존 코드를 변경하지 않음 상속대신 위임을 사용할 수 있음 상속은 하나 밖에 상속이 안되고, 상속를 강요하면 진짜 상속이 필요할 때 못쓰고 상위클래스가 변경되면 하위클래스가 영향을 받으니 좀더 구현을 이용해서 유연해짐 런타임에 전략을 변경할 수 있음 02.단점 복잡도가 증가함 클래스가 많이 늘어나고 복잡도 늘어난다고 할 수 있는데 한번만들어지고 재사용되지 않는다면 클래스는 많이 늘어나지 않을 것임 클라이언트가 구체적인 전략을 알아야함 https://github.com/3DPIT/study/blob/master/05.%EC%BD%94%EB%94%A9%EC%9C%BC%EB%A1%9C%ED%95%99%EC%8A%.. 2022. 2. 21.
728x90
반응형