工厂方法模式(factory method pattern)

本文介绍了一个基于C#和.NET 2.0实现的工厂模式示例。通过创建不同类型的文档(如简历和报告),展示了如何使用工厂方法模式来实例化各种页面对象。此模式简化了对象创建过程并提高了代码的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

vs2005+C#+.net 2.0

 

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace FactoryMethodPattern
{
    
//Production base class.
    abstract class Page
    
{
    }


    
abstract class Document
    
{
        
protected ArrayList pages = new ArrayList();
        
abstract public void CreatPage();
      
        
public Document()
        
{
            
this.CreatPage();
        }


        
public ArrayList Pages
        
{
            
get{
                
return pages;
            }

        }


    }


    
class SkillPage : Page
    
{ }

    
class EducationPage : Page
    
{ }

    
class ExperiencePage : Page
    
{ }

    
class IntroductionPage : Page
    
{ }

    
class ResultPage : Page
    
{ }

    
class ConclusionPage : Page
    
{ }

    
class SummaryPage : Page
    
{ }

    
class BibiographyPage : Page
    
{ }

    
class Resume : Document
    
{
        
public override void CreatPage()
        
{
            pages.Add(
new SkillPage());
            pages.Add(
new EducationPage());
            pages.Add(
new ExperiencePage());
        }

    }


    
class Report : Document
    
{
        
public override void CreatPage()
        
{
            pages.Add(
new IntroductionPage());
            pages.Add(
new ResultPage());
            pages.Add(
new ConclusionPage());
            pages.Add(
new SummaryPage());
            pages.Add(
new BibiographyPage());
        }

    }

    
class Client
    
{
        
static void Main(string[] args)
        
{
            Document[] docs 
=new Resume(), new Report() };
            
foreach (Document document in docs)
            
{
                Console.WriteLine(
" =======" + document + "========");
                
foreach (Page page in document.Pages)
                    Console.WriteLine(
" " + page);
            }

            Console.Read();
        }

    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值