zoukankan      html  css  js  c++  java
  • C#设计模式 简单工厂模式

    简单工厂模式


    工厂类:担任这个角色的是工厂方法模式的核心。工厂类在客户端的直接调用下创建产品对象,它往往由一个具体的类实现。
    抽象产品角色:担任这个角色的类是由工厂方法模式所创建的对象的父类,或她们共同拥有的接口。一般由接口或抽象类实现。
    具体产品角色:工厂方法模式所创建的任何对象都是这个角色的实例,由具体类实现。




    举例:裙子和运动衫

    /*
     * Created by SharpDevelop.
     * User: tianyu
     * Date: 2017/10/11
     * Time: 17:01
     * 
     * To change this template use Tools | Options | Coding | Edit Standard Headers.
     */
    using System;
    
    namespace simple_factory
    {
    	public interface IApparel
    	{
    		string ShowMe();
    	}
    	public class SportShirt:IApparel
    	{
    		public string ShowMe()
    		{
    			return("Sport Shirt!");
    		}
    	}
    	public class DressShirt:IApparel
    	{
    		public string ShowMe()
    		{
    			return ("Dress Shirt!");
    		}
    	}
    	public class ApparelFactory
    	{
    		public IApparel CreateApparel(string apptype)
    		{
    			switch(apptype)
    			{
    				case "DRESSSHIRT":
    					return new DressShirt();
    				case "SPORTSHIRT":
    					return new SportShirt();
    			}
    			return null;
    		}
    	}
    	class Program
    	{
    		public static void Main(string[] args)
    		{
    			ApparelFactory factory=new ApparelFactory();
    			IApparel obj1=factory.CreateApparel("DRESSSHIRT");
    			IApparel obj2=factory.CreateApparel("SPORTSHIRT");
    			string shirtType=obj1.ShowMe();
    			Console.WriteLine(shirtType);
    			Console.ReadKey(true);
    		}
    	}
    }


  • 相关阅读:
    Chromium(Chrome) frame structure detail
    Chromium(Chrome) Sandbox Details
    ECMA6 New Features
    Asynchronous programming in javascript
    Restful OData Protocol
    java 历年版本特征(简化)
    λ 演算学习
    远程访问其他主机的Mysql(Ubuntu)
    NoSQL基础学习
    Apache solr 6.6.0安装
  • 原文地址:https://www.cnblogs.com/bryce1010/p/9387146.html
Copyright © 2011-2022 走看看