반응형

gof의 디자인 패턴 20

온라인 무료 공개 "Escort GoF의 디자인 패턴 C#"

온라인 무료 공개 "Escort GoF의 디자인 패턴 C#"목차[소프트웨어 설계 C#] 1부 생성 패턴들1. 추상 팩토리 패턴 (Abstract Factory Pattern)1. 추상 팩토리 패턴 (Abstract Factory Pattern) 설계1. 추상 팩토리 패턴 (Abstract Factory Pattern) 구현2. 빌더 패턴(Builder Pattern)2. 빌더 패턴(Builder Pattern) 설계2. 빌더 패턴(Builder Pattern) 구현3. 팩토리 메서드 패턴(Factory Method Pattern)3. 팩토리 메서드 패턴(Factory Method Pattern) 설계3. 팩토리 메서드 패턴(Factory Method Pattern) 구현4. 원형 패턴(Prototype ..

[설계 패턴 C#] 10. 퍼샤드 패턴

10. 퍼샤드 패턴"본문 내용"은 언제나 휴일 본 사이트에 있습니다.▶ Picture.cs namespace Facade { class Compensator //하위 계층 서비스 { public void Change(Picture picture, int tone, int brightness, int saturation) { picture.Change(tone, brightness, saturation); } } } ▶ PictureManager.cs namespace Facade { class SmartManager // 사용자가 하위 계층의 기능을 쉽게 사용할 수 있게 제공 { Compensator compensator = new Compensator(); //사진을 수정하는 개체 PictureMana..

[설계 패턴 C#] 9. 장식자 패턴

9. 장식자 패턴 "본문 내용"은 언제나 휴일 본 사이트에 있습니다.▶ Picture.cs namespace Decorator { interface IChange { void Change(Picture picture,int tone,int brightness,int saturation); } } ▶ ToneCompensator.cs namespace Decorator { class BrightnessCompensator:IChange { // IChange에서 약속한 사진을 수정하는 메서드 구현 public void Change(Picture picture, int tone, int brightness, int saturation) { picture.ChangeBrightness(brightness); ..

[설계 패턴 C#] 8. 복합체 패턴

8. 복합체 패턴 "본문 내용"은 언제나 휴일 본 사이트에 있습니다.▶ Tree.cs using System; using System.Collections.Generic; namespace Composite { class Category:Tree { List children = new List(); public Category(string name):base(name) { } public override void View() { Console.WriteLine("{0," + Size.ToString() + "}-C", Name); foreach(Tree child in children) { child.View(); } } public override void AddChild(Tree child) //Ca..

[설계 패턴 C#] 6. 적응자 패턴

6. 적응자 패턴 "본문 내용"은 언제나 휴일 본 사이트에 있습니다. *적응자 패턴 적용 전▶PImageProcessor.cs namespace BeforeAdapter { class Camera { PImageProcessor pi_processor; public Camera(PImageProcessor pi_processor) { this.pi_processor = pi_processor; } public string TakeAPicture(string subject) { pi_processor.Subject = subject; pi_processor.ImageProcessing(); return pi_processor.Picture; } } } ▶Program.cs namespace Adapter ..

[설계 패턴 C#] 단일체 패턴(Singleton Pattern)

단일체 패턴(Singleton Pattern)"본문 내용"은 언제나 휴일 본 사이트에 있습니다. ▶MemoryCard.cs namespace Singleton { class InnerObject //단일체 클래스 { MemoryCard memorycard =null; public int Now { get; private set; } public static InnerObject Singleton //단일체에 접근하기 위한 속성 { get; private set; } static InnerObject() //단일체를 생성하는 정적 메서드 { Singleton = new InnerObject(); } private InnerObject() //단일체로 구현하기 위해 private으로 접근 지정 { Now =..

[설계 패턴 C#] 원형 패턴(Prototype Pattern)

4. 원형 패턴(Prototype Pattern) "본문 내용"은 언제나 휴일 본 사이트에 있습니다. ▶ZoomLens.cs namespace Prototype { enum TypeZoomLens{ NM_NM, NM_NF, NF_NF, MF_NF, MF_MF } class ProLine { ZoomLens pt = null; public ProLine(TypeZoomLens typezoomlens) { switch (typezoomlens) { case TypeZoomLens.NM_NM: pt = new ZoomLens(20, 70, 1, 100); break; case TypeZoomLens.NM_NF: pt = new ZoomLens(20, 70, 1, 200); break; case TypeZoom..

[설계 패턴 C#] 팩토리 메서드 패턴(Factory Method Pattern)

팩토리 메서드 패턴(Factory Method Pattern) "본문 내용"은 언제나 휴일 본 사이트에 있습니다. ▶EHApp.cs namespace FactoryMethod { interface IView { void Show();//보여주기 기능에 대한 메서드 약속 } } ▶MyView.cs using System; namespace FactoryMethod { class MyApp:EHApp { public override void InitInstance()//재정의 { Console.WriteLine("MyApp 초기화"); base.InitInstance(); } public override void ExitInstance()//재정의 { base.ExitInstance(); Console.Wr..

[설계 패턴 C#] 빌더 패턴(Builder Pattern)

본문 바로가기 ▶Picture.cs namespace Builder { abstract class PictureBuilder { public Picture Picture { get; protected set; } public abstract void SetSubject(string subject); //상을 맺히는 기능 public abstract void Change();//이미지를 수정하는 기능 } } ▶SmoothBuilder.cs namespace Builder { class REPreventBuilder:PictureBuilder { const string red_eye = "RedEye"; const string normal_eye = "NomalEye"; const int max_length..

[설계 패턴 C#] 추상 팩토리 패턴 (Abstract Factory Pattern)

[설계 패턴 C#] 추상 팩토리 패턴 (Abstract Factory Pattern) "본문 내용"[Escort GoF의 디자인 패턴] 1. 추상 팩토리 패턴 (Abstract Factory Pattern)[Escort GoF의 디자인 패턴] 1. 추상 팩토리 패턴 (Abstract Factory Pattern) 설계[Escort GoF의 디자인 패턴] 1. 추상 팩토리 패턴 (Abstract Factory Pattern) 구현 ▶ITake.cs using System; namespace AbstractFactory { class EvLens:ITake { public void Take() //ITake에 약속된 기능을 구체적으로 구현 { Console.WriteLine("부드럽다."); } public..

반응형