분류 전체보기(472)
-
[디자인패턴]Bridge 패턴
Bridge 패턴 templatePattern을 알고 보셔야 합니다.[디자인 패턴] - [디자인 패턴] template Pattern(템플릿 패턴) by python, java 지난번 AbstractFactory에 이어서 Bridge Pattern을 공부하도록 하겠습니다. 브릿지 패턴은 클래스를 두분류로 나누어서 서로를 연결하여 사용할 수 있게 해주는 패턴인데요. 여기서 두분류는 여기서 두분류는 기능의 클래스 계층, 구현의 클래스 계층입니다. 저도 이번에 공부하면서 처음 들어본 개념인데요. 이둘에 대해 설명해보도록 하겠습니다. 우리가 보통 새로운 기능을 추가하기 위해서 하위 클래스에서 상위 클래스를 상속하여 기능을 추가합니다. 또 기능을 추가하기 위해서 또 상속하여 하위클래스에 기능을 확장합니다. 기능을..
2019.01.17 -
Intellij에서 ClassDiagram(UML) 보기
Intellij에서 ClassDiagram(UML) 보기 서브라임 텍스트를 통해 디자인패턴을 구현하다가 아 도저히 안되겠다 싶어서 학교 계정을 통해 Intellij를 사용하게 되었다. 무료버전도 있고 유료버전도 있는 Ide인데 그냥 텍스트 입력기에 비해 조금 무겁지만 엄청나게 편리한 기능을 제공해주고 있다. 편리한 기능중 하나인 ClassDiagram(UML) 보기를 기록해두려고 합니다. 우선 제일 왼편에 보면 위의 사진과 같이 비슷하게 파일들이 나열되어 있을 것입니다. 윈도우는 오른쪽 마우스 Mac은 두손가락을 눌러주면 아래 사진과 같이 나옵니다. 여기서 Diagrams를 눌러주면 위 사진과 같이 나오는데 Show Diagrams를 눌러주면 전체화면 PopUp은 작게 팝업형식으로 보여줍니다. 저는 Pa..
2019.01.17 -
[디자인 패턴]Abstract Factory Pattern
Abstact Factory Pattern 지난번에 Factory Pattern을 만들어서 기재한적이 있습니다. Factory패턴을 업그레이드 했음으로 읽어 보는 것이 좋을 것 같습니다. 그리고 이 예제에서는 Template패턴이 사용되어 이글을 보기전 읽어 보는 것이 좋을 것입니다.. [디자인 패턴] - [디자인 패턴] Factory Pattern(팩토리 패턴) by java, javascript, python[디자인 패턴] - [디자인 패턴] template Pattern(템플릿 패턴) by python, java 추상적인 공장?? 지난번에도 factory는 추상화 시켜주었는데 어떤 차이점이 있는 것일까??지난번에 공부했던 팩토리 패턴과 어떤 차이가 있으며 무엇이 더 좋아졌는지 알아보도록 합시다. 이..
2019.01.17 -
[디자인 패턴] Builder Pattern by python, java
Builder 패턴 builder패턴은 커다란 구조물(클래스) 등을 만들 때 차근차근히 쌓아 올리는 구조를 갖는 builder패턴을 공부해보겠습니다. 얼핏 보면 이전에 공부했던 템플릿 패턴과 비슷한 면이 있습니다. 템플릿 패턴은 메소드들로 큰틀을 갖추어 놓고 추상클래스의 상속을 통해 구체적으로 실행되게 만들었습니다. 이것도 비슷하게 constructor라는 메소드에 추상클래스의 메소드들로 어떻게 실행될지 정해 놓고 어떤 객체가 전달되냐에 따라 실행 결과가 달라집니다. 한개의 폴더에서 실행됩니다. Builder.java public abstract class Builder{ public abstract void makeTitle(String title); public abstract void makeStr..
2019.01.10 -
[디자인 패턴]Prototype 패턴
Prototype 패턴 prototype 패턴은 객체를 자바의 기준으로 new를 통해서 계속해서 객체를 만드는 것이 아니라 한번 만들었던 것을 저장하고 필요할때 마다 복사를 통해 사용하는 패턴입니다. prototype 패턴은 아래 세개의 상황에서 사용하면 좋습니다. 1. 오브젝트 개수가 많아 모두 클래스로 만들어야 하는 경우 2. 비슷한 객체를 계속해서 만들어야 하는 경우 3. framework와 생성할 인스턴스를 분리하고 싶은 경우 예제를 들어서 더 자세히 설명해보겠다. 디렉토리 구조 Manger.java package framework; import java.util.*; public class Manger { HashMap showCase = new HashMap(); public void regi..
2019.01.08 -
[디자인 패턴] Factory Pattern(팩토리 패턴) by java, javascript, python
Factory Pattern [디자인 패턴] - [디자인 패턴] template Pattern(템플릿 패턴) by python, java 이전글(템플릿 패턴을 먼저 보고 읽어주세요.) 지난 시간에 했던 템플릿 패턴을 이용하여 Factory Pattern을 구현해보겠습니다. 이전 글에서 공부한 템플릿 패턴은 추상클래스를 통해 프로그램의 큰틀을 잡아 놓고 하위클래스들을 어떻게 구현하나에 따라서 각기 다르게 실행되게 하는 템플릿 패턴을 만들어 보았습니다. 여기서 팩토리 패턴은 구체화 된 클래스의 객체를 만들 때 서브클래스에서 만들게 하는 방법입니다. 그래서 이름 그대로 객체를 만드는 공장이라고 하여서 Factory Pattern으로 불린답니다. 결론적으로 객체의 생성을 subClass에 맡김으로써 클래스의 결..
2019.01.05