본문 바로가기

C#3

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.