본문 바로가기

프로그래밍/디자인패턴9

Factory Mathod Pattern Factory Method Pattern 에 대해서 알아보도록 하겠습니다. 개인적으로 이 패턴에 대해서 이해를 하는 과정이 있어서, 가장 좋은 방법은 사용, 결과를 확인 하였을 때 가장 이해가 빠르지 않나 싶습니다. namespace Pattern { public class FactoryMathodClass : MonoBehaviour { void Start() { // FrameWork.Factory factory = new UnitCreate.UnitFactory(); 이렇게 해도 됩니다. UnitCreate.UnitFactory factory = new UnitCreate.UnitFactory(); FrameWork.Unit unit1 = factory.create(FrameWork.UnitType.. 2017. 4. 12.
Template Method Pattern Template Method Pattern 에 대해서 알아보도록 하겠습니다. 이 패턴을 설명하면 다음과 같습니다. 추상 클래스를 구현하고, 그 클래스를 사용하여 [기능]을 실행합니다. 하지만, 그 [기능]구현은 추상 클래스를 상속받은 구현 클래스에서 구현합니다. 설명만 들으면 아리송 한 관계로 예제를 보도록하겠습니다. namespace TemplatePattern { // 추상 클래스 public abstract class SportClass { // 구현 클래스에서 구현하게 될 부분 public abstract void role(); // play를 통해 role 사용. public void play() { role(); } } // 구현 클래스 public class BaseBallClass : Sp.. 2016. 6. 30.
Adapter Pattern Adapter Pattern에 대해사 알아 보도록 하겠습니다. 해당 패턴을 알아 보기전에 한가지 문제점에 대해서 먼저 알고 넘어가야 합니다. [상황] 1. [인사]를 출력하는 클래스가 존재 [추가 할 내용] 1. [닉네임]을 추가로 출력 필요 2. [닉네임]을 먼저 출력 하거나, 인사를 먼저 출력 할 수 있음 물론 [인사]를 출력하는 부분에서 [닉네임]을 받아서 함께 처리 하여도 됩니다. 하지만, 기존의 코드를 수정하고 싶지 않을 경우, 또는 하지 못하는 경우에 다음과 같은 방법을 사용합니다. 먼저 해당 부분은 2가지 방법이 존재하는데 interface 를 사용하는 상속으로만 해결 하는 방법과, 상속, 위임(포함)을 통한 방법이 있습니다. 물론 2가지 모두 Adapter Pattern 입니다. 코드를 확.. 2016. 6. 7.
Iterator Pattern 이번에는 Iterator 패턴에 대해 알아보고, 해당 부분을 적용한 Unity 예제와, 조금의 응용을 같이 진행에 보도록 하겠습니다. 흔히 Iterator라 함은, 구지 디자인 패턴의 종류라기보단 컨테니어들을 따라갈때 많이 쓰던 키워드 중 하나? 정도로 많이 파악이 되어 있습니다. 실제로 그것과 크게 다르지도 않습니다. 중요한 것은, 특정 List나 Arr등 그룹지어져 있는 Object들을 순차적( 구현에 따라선 특정 구간이 될 수도... )으로 순회하면서 찾는다는 것이 중요합니다. 단지 이것을 디자인 패턴으로 표현 하였을 때 어떤식의 장점이 있는지, 그리고 어떤식으로 구현해야 하는지 확인해 본다고 보시면 될 것 같습니다. 먼저 최종 사용 코드부터 보도록 하겠습니다. 사용 코드 예제 namespace I.. 2016. 5. 4.
UML의 기본 구성-시퀀스 다이어그램 클래스 다이어그램에 비하면 조금 더 가독성이 높은 편, 실제 내부적으로 어떻게 구성 되어 있는지 표현하는게 클래스 다이어그램이라면 시퀀스 다이어그램은, 구성된 내용들이 어떻게 동작하는지 보여 준다고 보면됩니다. 표현을 빌리면, 시간에 의해 변하지 않는 것(정적인 관계) = 클래스 다이어그램 시간에 따라 변하는 것(동적인 관계) = 시퀀스 다이어그램 이라고 보시면됩니다. 실제 예제를 보면 다음과 같습니다. 1 ~ 2. 손님이 입장 후 서빙 직원에게 요리를 주문합니다. 3 ~ 4. 직원은 해당 내용을 종이에 작성 한 후 그 리스트를 요리사에게 전달 합니다. 5 ~ 6. 요리사는 해당 요리를 제작 완료된 요리를 직원에게 다시 전달합니다. 7. 직원은 해당 요리를 손님에게 전달합니다. 8. 식사 진행 9 ~ 1.. 2016. 5. 2.
UML의 기본 구성-클래스 다이어그램 디자인 패턴에 들어 가기에 앞서 UML을 알아둬야 할 필요성이 있습니다. Unified Modeling Language의 약자로 설계문서를 시각화 한다고 정의 되어 있습니다. 지금 설명하는 것들은 모두 클래스 다이어그램입니다. 가장 기본적인 상속 구조를 알아 보도록 하겠습니다. 해당 그림은 다음과 같습니다. - 부모 클래스가 가상 클래스(이탤릭)로써, 자식 클래스가 상속을 받은 형태 - 부모클래스에는 변수, 스태틱 변수( 밑줄 )가 존재 - 부모 클래스는 가상함수(이텔릭)와 함수가 존재 - 자식 클래스는 변수X, 부모로써 상속받은 가상함수와 스태틱함수(밑줄) 존재 - 각 변수나 함수 앞에 기호는 public은 +, protected는 #, private는 -로 표기 다음은 인터페이스 설명입니다. - 가상.. 2016. 5. 2.