zoukankan      html  css  js  c++  java
  • 简单工厂+抽象工厂

    抽象工厂的一个很简单的应用,这久公i司的项目中可能用到不同的打印机,不同的打印机可能打印方法有所改变,自己优化了下原来的代码:

    打印接口:

    Code
     interface Iprint
        {
             
    void Print();
        }

    实现接口的USB打印机类:

    Code
     public  class UsbPrinter:Iprint
        {
            
    #region Iprint 成员

            
    public void Print()
            {
                Console.WriteLine(
    "I am UsbPrinter");
            }

            
    #endregion
        }

    实现接口的COM口打印机类:

    Code
    public class ComPrinter:Iprint
        {
            
    #region Iprint 成员

            
    public void Print()
            {
                Console.WriteLine(
    "I am ComPrinter");
            }

            
    #endregion
        }

    工厂类:

    Code
     class PrinterHandle
        {
            
    private static string PrintType = System.Configuration.ConfigurationManager.AppSettings["printerType"];
            
    public static Iprint GetPrinter()
            {
                
    switch (PrintType)
                {
                    
    case "usb":
                        
    return new UsbPrinter();
                        
    break;
                    
    case "com":
                        
    return new ComPrinter();
                        
    break;
                    
    default:
                        
    return new UsbPrinter();
                        
    break;
                }
            }
        }

    客户端调用:

    Code
     PrinterHandle.GetPrinter().Print();

    配置文件:

    Code
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        
    <appSettings>
            
    <add key ="printerType" value="com"/>
           
    </appSettings>
    </configuration>

    呵呵,很简单的应用,但是感觉结构清晰了好多,便于维护。

  • 相关阅读:
    封装TensorFlow神经网络
    android对话框显示异常报错:You need to use a Theme.AppCompat theme (or descendant) with this activity.
    管道过滤器模式
    架构设计模式之管道——过滤器模式
    SQL SERVER 数据库邮件配置
    浅谈数据仓库的基本架构(转)
    Spark On YARN内存分配
    Tomcat 9.0安装配置
    Spark on Yarn遇到的几个问题
    yarn资源调度(网络搜集)
  • 原文地址:https://www.cnblogs.com/shineqiujuan/p/1605711.html
Copyright © 2011-2022 走看看