zoukankan      html  css  js  c++  java
  • C#设计模式之三抽象工厂模式(AbstractFactory)【创建型】

    实现:创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

     public abstract class AbstractFactory(){

    public abstract A CreateA();

    public abstract B CreateB(); 

     public class 1Factory : AbstractFactory{

    public overrid A CreateA(){

    return new 1A();

    public overrid B CreateB(){

    return new 1B();

    public class 2Factory:AbstractFactory{

    public overrid A CreateA(){

    return new 2A();

    public overrid B CreatedB(){

    return new 2B();

    public class 1A : A{

    public override void Create{

    ..... 

    public class 2A : A{

    public override void Create{

    ..... 

    }  

    public class 1B :B{

    public override void Create{

    ..... 

    public class 2B :B{

    public override void Create{

    ..... 

    public abstract class A{

    public abstract void Create(); 

     public abstract class B{

    public abstract void Create();

    }  

    public class Client{

    static void Main(){

    var 1factory = new 1Factory();

    1factory.CreateA.Create();

    1factory.CreateB.Create();

     

    var 2factory = new 2Factory();

    2factory.CreateA.Create();

    2factory.CreateB.Create(); 

    优点:将系列产品的创建工作延迟到具体工厂的子类中,减少客户端代码与具体产品类间的依赖,从而降低了系统的耦合度。

    缺点:如果需要新增新产品,此时就必须修改抽象工厂的接口,违背OCP原则。 



  • 相关阅读:
    网络七层模型
    border-radius 50% 和100%
    数据绑定
    前端一些基础的重要的知识2
    用 ul 和 li 模拟select控件
    两列布局
    盒子的水平垂直居中几种方法
    TCP时间戳
    帧聚合
    skb buff数据结构
  • 原文地址:https://www.cnblogs.com/ljdong7/p/12525395.html
Copyright © 2011-2022 走看看