디자인 패턴
-
컴포지트 패턴(Composite Pattern) :: 마이구미디자인 패턴 2019. 3. 10. 17:40
이 글은 디자인 패턴 중 컴포지트 패턴(Composite Pattern) 을 다룬다.위키피디아의 내용을 기반으로 정리할 예정이다.위키 - https://en.wikipedia.org/wiki/Composite_pattern 글의 주제를 다루기에 앞서, 글들을 참고하면서, 기억에 남는 문장은 다음과 같다. It suggests that design patterns aren’t things we invent. They’re things we discover. 디자인 패턴은 누군가 발명한 것이 아닌, 발견했다고, 생각하면 조금 더 편하게 바라볼 수 있지 않을까 생각한다. 컴포지트(Composite) 란? OOP 에서 컴포지트(Composite) 는 하나 이상의 유사한 객체를 구성으로 설계된 객체로 모두 유사한..
-
MVC, MVP, MVVM 무엇인가? :: 마이구미디자인 패턴 2018. 3. 26. 22:03
이 글은 디자인 패턴 중 MVC, MVP, MVVM 패턴을 다룬다.현재 프론트엔드, 백엔드, 앱 개발에서 많이 들리는 용어이다.다른 패턴도 있지만, 현재 주로 사용하고, 알려져있는 패턴이라고 볼 수 있다. MVC => Model - View - ControllerMVP => Model - View - PresenterMVVM => Model - View - ViewModel MVC 패턴은 크게 Model-View-Controller 3가지로 나눈 소프트웨어 개발 방법론이다.현재에는 프레임워크 자체에 적용되어있어, 자연스럽게 접할 수 있고, 접하고 있을 것이다. 웹, 앱 개발시 많이 사용되고 있어, 다음과 같이 표현하기도 한다.사용자가 Controller 를 조작하면, Controller 는 Model 을..
-
싱글톤 패턴은 안티 패턴인가? :: 마이구미디자인 패턴 2017. 12. 6. 21:18
이 글은 싱글톤 패턴(Singleton Pattern) 에 대해 다룬다.디자인 패턴 중 가장 기본적이고 쉬운 패턴이다.싱글톤 패턴에 대한 편중된 글이 아닌 전체적인 모습을 다뤄본다.위키 - https://en.wikipedia.org/wiki/Singleton_pattern 제목과 같이 "싱글톤 패턴에 대한 우려"에 대한 글이다.본인의 경우에는 "싱글톤 패턴은 사용하지 않는 것이 좋다" 에 대한 입장이다.먼저 무엇인지부터 천천히 보면서 근거들을 확인해보자. 싱글톤(Singleton) 패턴은 무엇인가? 싱글톤 패턴은 한번쯤은 사용해봤거나 현재도 사용하고 있을 것이다.실제 프로젝트에서도 사용하는 정도로 많이 알려진 패턴이다. 클래스의 객체를 하나로 제한한다.즉, 생성자를 여러번 호출한다하더라도 최초로 생성된..
-
팩토리 메소드 패턴(Factory Method Pattern) :: 마이구미디자인 패턴 2017. 12. 5. 21:04
이 글은 팩토리 메소드 패턴(Factory Method Pattern) 을 다룬다.디자인 패턴 중 하나로써, 특히 Java 에서 많이 사용하는 패턴 중 하나이다.Java 에서는 abstract 를 지원하기 때문에 abstract 를 활용한다.그렇기에 이 글에서는 interface 와 abstract 가 동일한 역할을 한다고 가정한다.사전 지식으로 interface, abstract 의 개념을 이해하길 바란다.interface, abstract - http://mygumi.tistory.com/257 팩토리 메소드 패턴을 보기에 앞서 팩토리라는 용어가 낯설지 않을 것이라 생각한다.오픈 소스나 누군가의 코드에서 이름으로 Factory 를 붙이는 것을 접해봤을 것이다. *Factory.get*()ex) Pro..