본문 바로가기
반응형

GOF3

GOF패턴-BuilderPattern-2(생성) 많은 변수를 가진 객체의 생성을 가독성 높게한다. 많은 인자를 가진 객체를 생성을 다른 객체의 도움으로 생성하는 패턴 > 보통 빌더패턴이 이것이다. package Builder2; public class Main { public static void main(String[] args) { Computer computer = ComputerBuilder .start() .setCpu("i7") .setRam("8g") .setStorage("128g ssd") .build(); System.out.println("computer = " + computer.toString()); System.out.println("computer = " + computer); } } package Builder2; //디렉.. 2023. 2. 23.
GOF패턴 -Prototype Pattern(생성) 생산 비용이 높은 인스턴스를 복사를 통해서 쉽게 생성 할 수 있도록 하는 패턴 왜 비싸 ??? - 종류가 너무 많아서 클래스로 정리되지 않는다 - 클래스로부터 인스턴스 생성이 어렵다. 프로토타입 패턴은 원본 객체를 새로운 객체에 복사하여 필요에 따라 수정하는 메커니즘을 제공한다. package Prototype; public class Circle extends Shape { private int x,y,r; public Circle(int x, int y, int r) { this.x = x; this.y = y; this.r = r; } public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { .. 2023. 2. 22.
GOF패턴 - Strategy Pattern(행동) 1. 스트래티지 패턴 : 여러가지 알고리즘의 추상적인 접근점을(interface) 만들어 그 접근점을 서로 교환할 수 있도록 하는 패턴 즉 구현체 여러개면 아무거나 하나 골라서 실행한다는것 예를 들면 캐릭터가 (칼,맨손,주먹) 을 든다 에서 칼,맨손,주먹중 하나를 고를 수 있다는것 인터페이스 : 기능에 대한 선언과 구현 분리 , 기능을 사용 통로 델리게이트 : 위임한다. 다른 객체의 기능을 빌려 사용하는것, 이 전략을 사용하는 이유는 변경에는 닫혀있고 확장에는 열려있기 때문 디자인 문제를 해결하는 방법, 즉 객체는 구현, 변경, 테스트, 재사용이 쉬워야 한다. context 에서 사용할 알고리즘을 클라이언트가 선택한다 예시 게임 캐릭터가 weapon 이라는 전력을 가지고있는다. weapon 을 통해서 .. 2023. 2. 21.
반응형