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

디자인패턴70

2022-07-07-이터레이터패턴-3부-장점과단점 01.장점 집합 객체가 가지고 있는 객체들에 손쉽게 접근할 수 있다. 우리가 알아야하는것 집합 객체가 이터레이터로 제공했을때 이터레이터만 알면될뿐 무엇으로 되어 있는지 알필요가 없음 그냥 has next, next만 알면되고, 이것은 단일 책임원칙에 일치한다. 일관된 인터페이스를 사용해 여러 형태의 집합 구조를 순회할 수 있다. 02.단점 클래스가 늘어나고 복잡도가 증가한다. 새로운 이터레이터 방법을 추가하는 경우 기존 이터레이터 변경하지 않고 새로 만들수 있는데 문제는 이렇게 만들면 따로 제공하는것을 Board쪽 aggreagate쪽에 만들어야함 2022. 7. 18.
2022-07-07-이터레이터패턴-2부-패턴적용하기 01.코드 개선하기 01.1 RecentPostIterator package me.whiteship.designpatterns._03_behavioral_patterns._16_iterator._02_after; import me.whiteship.designpatterns._03_behavioral_patterns._16_iterator._01_before.Post; import java.util.Collections; import java.util.Iterator; import java.util.List; public class RecentPostIterator implements Iterator { private Iterator internalIterator; public RecentPostIter.. 2022. 7. 18.
2022-07-07-이터레이터패턴-1부-패턴소개 01.이터레이터 패턴이란? 어떤 집합 객체를 순회하는 패턴 집합 객체의 내부 구조를 노출하지 않고 순회하는 방법을 제공하는 방법 패턴을 구성하는 것중의 하나가 이터레이터임 02.코드로 알아보는 패턴 02.1 Client.java package me.whiteship.designpatterns._03_behavioral_patterns._16_iterator._01_before; import java.util.Collections; import java.util.Iterator; import java.util.List; public class Client { public static void main(String[] args) { Board board = new Board(); board.addPost(".. 2022. 7. 18.
2022-05-12-인터프리터패턴-3부-장점과단점 01.인터피리터패턴 장단점 요청을 캡슐화 하여 호출자(invoker)와 수신자(receiver)를 분리하는 패턴 01.1 장점 자주 등장하는 문제 패턴을 언어와 문법으로 정의할 수 있음 기존 코드를 변경하지 않고 새로운 Expression을 추가할 수 있음 곱을 만들고 싶은 경우 사실 이렇게 만드는 것 보다 인터페이스에 추가하는게 더 쉽긴함 하지만 이렇게 하면 parser는 영향을 받게되어 *를 추가해야하긴함 추가할때 다른것을 건들지 않고, 확장이 가능하고 단일책임원칙도 지킴 static PostfixExpression multiply(PostfixExpression left, PostfixExpression right){ return context -> left.interpret(context) * r.. 2022. 5. 13.
728x90
반응형