程序设计模式(C#代码)----抽象工厂模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了程序设计模式(C#代码)----抽象工厂模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2259字,纯文字阅读大概需要4分钟。
内容图文
using System; namespace 抽象工厂模式 { class Program { static void Main(string[] args) { CreateFactory createFactory = new CreateFactory(); Factory phoneFactory=createFactory.getFactory(CreateFactory.PHONE_FACTORY); Phone huawei= phoneFactory.getPhone(PhoneFactory.HUAWEI); huawei.createPhone(); Phone vivo = phoneFactory.getPhone(PhoneFactory.VIVO); vivo.createPhone(); Factory maskFactory = createFactory.getFactory(CreateFactory.MASK_FACTORY); Mask kn95=maskFactory.getMask(MaskFactory.KN95); kn95.createMask(); Mask n95= maskFactory.getMask(MaskFactory.N95); n95.createMask(); } } /// <summary> /// 工厂的抽象类 /// </summary> abstract class Factory { public abstract Phone getPhone(int phoneType); public abstract Mask getMask(int maskType); } /// <summary> /// 手机接口 /// </summary> interface Phone { public void createPhone(); } /// <summary> /// 华为 /// </summary> class HuaWei : Phone { public void createPhone() { Console.WriteLine("制造华为手机"); } } /// <summary> /// Vivo /// </summary> class Vivo : Phone { public void createPhone() { Console.WriteLine("制造Vivo手机"); } } /// <summary> /// 手机的工厂 /// </summary> class PhoneFactory: Factory { public const int HUAWEI = 0, VIVO = 1; public override Mask getMask(int maskType) { return null; } public override Phone getPhone(int phoneType) { switch (phoneType) { case HUAWEI: return new HuaWei(); break; case VIVO: return new Vivo(); break; } return null; } } /// <summary> /// 口罩接口 /// </summary> interface Mask { public void createMask(); } /// <summary> /// 口罩N95 /// </summary> class N95 : Mask { public void createMask() { Console.WriteLine("制造N95口罩"); } } /// <summary> /// 口罩KN95 /// </summary> class KN95 : Mask { public void createMask() { Console.WriteLine("制造KN95口罩"); } } /// <summary> /// 口罩的工厂 /// </summary> class MaskFactory : Factory { public const int N95 = 0, KN95 = 1; public override Mask getMask(int maskType) { switch (maskType) { case N95: return new N95(); case KN95: return new KN95(); } return null; } public override Phone getPhone(int phoneType) { return null; } } /// <summary> /// 创建工厂的类 /// </summary> class CreateFactory { public const int MASK_FACTORY = 0, PHONE_FACTORY = 1; public Factory getFactory(int factoryType) { switch (factoryType) { case MASK_FACTORY: return new MaskFactory(); case PHONE_FACTORY: return new PhoneFactory(); } return null; } } }
输出结构:
内容总结
以上是互联网集市为您收集整理的程序设计模式(C#代码)----抽象工厂模式全部内容,希望文章能够帮你解决程序设计模式(C#代码)----抽象工厂模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。