惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 【当耐特】
云风的 BLOG
云风的 BLOG
罗磊的独立博客
C
Check Point Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Blog — PlanetScale
Blog — PlanetScale
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
Recent Announcements
Recent Announcements
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
J
Java Code Geeks
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
I
InfoQ
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
B
Blog RSS Feed

博客园 - AnsonWu

[转载]Remoting随想 [转]Remoting之同步—异步调用 [转]正则表达式30分钟入门教程 准备写一个智能提示的控件,大家有什么好的思路 javascript函数库 推荐一个免费的数据库开发工具 从WEB SERVICE 中数据压缩策略(转) Asp.net Ajax 设计模式-原型模式 关于反射的一点理解(一) 如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复 .NET开源项目介绍及资源推荐:数据持久层 在asp.net中如何从视频文件中抓取一桢并生成图像文件 使用AppUpdater组件(转) NHibernate初体验 <转> ASP.net的RUL重写 开发 Windows Mobile 应用程序 FAQ(转) Ajax for Java developers: Ajax with Direct Web Remoting 手机壁纸切割器源码发布
设计模式--工厂方法
AnsonWu · 2007-04-05 · via 博客园 - AnsonWu

/*
 * Created by SharpDevelop.
 * User: anson.wu
 * Date: 2007-4-5
 * Time: 10:55
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 
*/
using System;namespace Structural
{
    
class
 MainClass
    {
        
public static void Main(string
[] args)
        {
            Product[] product
=new Product[2
];
            product[
0]=new
 CreatorA().FactoryMethod();
            product[
1]=new
 CreatorB().FactoryMethod();            
            Console.Read();
        }
    }
    
//
    public abstract  class
 Product
    {
    
    }
    
public class
 ProductA:Product
    {
        
public
 ProductA()
        {
            Console.WriteLine(
"ProductA Been Create"
);
        }
    }
    
public class
 ProductB:Product
    {
        
public
 ProductB()
        {
            Console.WriteLine(
"ProductB Been Create"
);
        }
    }
    
public abstract class
 Creator
    {
        
public abstract
 Product FactoryMethod();
        
    }
    
public class
 CreatorA:Creator
    {
        
public override
 Product FactoryMethod()
        {
            
return new
 ProductA();
        }
    }
    
public class
 CreatorB:Creator
    {
        
public override
 Product FactoryMethod()
        {
            
return new
 ProductB();
        }
    }
}