일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 |
- 동적 메모리 할당
- 알고리즘
- 무료 Java
- JAVA 언어
- 디딤돌 C언어
- 파일 입출력
- 소스 파일
- 디딤돌 Java 언어 Part1
- 디딤돌 C++
- gof의 디자인 패턴
- 소프트웨어 설계
- C# 소스 코드
- StringBuffer 클래스
- 소스 코드
- math.h
- 소프트웨어 접근성
- C언어 소스 코드
- 소스 구현
- 클래스 다이어그램
- C++
- XML.NET
- Escort GoF의 디자인 패턴
- java
- C언어 표준 라이브러리 함수 사용법 가이드
- C언어 표준 라이브러리 함수 가이드
- C언어
- String 클래스
- C언어 소스
- 설계 패턴
- C#
- Today
- 2
- Total
- 98,400
프로그램 소스
[설계 패턴 C#] 팩토리 메서드 패턴(Factory Method Pattern) 본문
팩토리 메서드 패턴(Factory Method Pattern)
"본문 내용"은 언제나 휴일 본 사이트에 있습니다.
▶EHApp.cs
namespace FactoryMethod { abstract class EHApp //뼈대를 제공하는 추상 클래스 { protected IView MainView { get; set; } public virtual void InitInstance() { MainView = MakeView();//뷰 개체를 설정 } public virtual void Run() { MainView.Show(); } public virtual void ExitInstance() { MainView = null; } protected abstract IView MakeView();//뷰 개체를 생성하는 메서드 약속 } } |
▶IView.cs
namespace FactoryMethod { interface IView { void Show();//보여주기 기능에 대한 메서드 약속 } } |
▶MyView.cs
using System; namespace FactoryMethod { class MyView:IView { public MyView() { Console.WriteLine("MyView 개체 생성"); } public void Show() { Console.WriteLine("메인 뷰 활성화"); } } } |
▶MyApp.cs
using System; namespace FactoryMethod { class MyApp:EHApp { public override void InitInstance()//재정의 { Console.WriteLine("MyApp 초기화"); base.InitInstance(); } public override void ExitInstance()//재정의 { base.ExitInstance(); Console.WriteLine("MyApp 해제"); } protected override IView MakeView()//뷰 개체를 생성하는 메서드 구체적 구현 { return new MyView(); } } } |
▶Program.cs
namespace FactoryMethod { class Program { static void Main(string[] args) { MyApp app = new MyApp(); app.InitInstance(); app.Run(); app.ExitInstance(); } } } |
▶실행 결과
MyApp 초기화 MyView 개체 생성 메인 뷰 활성화 MyApp 해제 |
'설계 패턴(C#)' 카테고리의 다른 글
[설계 패턴 C#] 6. 적응자 패턴 (0) | 2016.06.09 |
---|---|
[설계 패턴 C#] 단일체 패턴(Singleton Pattern) (0) | 2016.04.17 |
[설계 패턴 C#] 원형 패턴(Prototype Pattern) (0) | 2016.04.17 |
[설계 패턴 C#] 팩토리 메서드 패턴(Factory Method Pattern) (0) | 2016.04.17 |
[설계 패턴 C#] 빌더 패턴(Builder Pattern) (0) | 2016.04.17 |
[설계 패턴 C#] 추상 팩토리 패턴 (Abstract Factory Pattern) (0) | 2016.04.17 |