반응형

소프트웨어 설계 10

온라인 무료 공개 "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#]14. 프락스 패턴(Proxy Pattern) - 보호용 프락시

14. 프락스 패턴(Proxy Pattern) - 보호용 프락시"본문 내용"14. 프락시 패턴(Proxy Pattern) – 보호용 프락시14. 보호용 프락시 설계14. 보호용 프락시 구현▶ IView.csnamespace ProtectionProxy{ interface IView { void View(); string Owner { get; } }} ▶ Picture.csusing System;namespace ProtectionProxy{ class Picture:IView { string name; public string Owner { get; private set; } public Picture(string name,string owner) { this.name = name; Owner = ow..

[설계 패턴 C#]12. 프락스 패턴(Proxy Pattern) - 원격지 프락시

12. 프락스 패턴(Proxy Pattern) - 원격지 프락시"본문 내용"은 언제나 휴일 본 사이트에 있습니다.서버 측 코드▶ ITake.csnamespace RemoteClient{ interface ITake //실제 개체인 카메라가 수행할 수 있는 기능 약속 { string TakeAPicture(); void ChangeMode(bool mode); bool GetMode(); } enum MsgId //실제 개체에 내릴 수 있는 명령 종류 { TAKE=1, CHANGE, GET }} ▶ Camera.csusing System;namespace RemoteProxy{ class Camera:ITake { bool mode = false; //true: 수동 모드, false: 자동 모드 publ..

[설계 패턴 C#] 11. 플라이급 패턴(Flyweight Pattern)

11. 플라이급 패턴(Flyweight Pattern)"본문 내용"은 언제나 휴일 본 사이트에 있습니다.▶ Meta.cs using System; namespace Flyweight{ //사진 촬영 조건에 관한 열거형 정의 public enum BodyType { EH_BA, EH_BB, EH_BC }; public enum LensType { EH_L1, EH_L2, EH_L3 }; public enum LightType { LT_CLEAR, LT_CLOUDY, LT_LAMP }; class Meta //사진 파일들이 공유할 수 있는 촬영 조건을 정의한 클래스 { static readonly string[] bodyname = {"EH_BA","EH_BB","EH_BC"}; static readonly..

[설계 패턴 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#] 단일체 패턴(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#] 추상 팩토리 패턴 (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..

반응형