zoukankan      html  css  js  c++  java
  • 【C#设计模式——创建型模式】抽象工厂模式

      抽象工厂模式比工厂模式具有更高层次的抽象性。当要返回一系列相关类中的某一个,而每个类都能根据需要返回不同的对象时,可以选择这种模式。直接进入示例。

    示例描述:完成花园的规划,多种花园种类,每个里面多种植物

      编写一个基类Garden,Garden就是抽象工厂。它定义了具体类中的方法,并返回一系列相关类中的某个类。

     public class Garden
        {
            protected Plant center, shade, border;
            protected bool showCenter, showShade, showBorder;
            public void setCenter() { showCenter = true; }
            public void setShade() { showShade = true; }
            public void setBorder() {
                showBorder = true;
            }
            public void draw(Graphics g)
            {
                if (showCenter)
                {
                    center.draw(g,100,100);
                }
                if (showShade) { shade.draw(g,10,50);}
                if (showBorder) { border.draw(g, 50, 150); }
            }
        }

    接下来分别实现各个种类的花园,在绑定一些基本的事件。

    运行效果如图:

    抽象工厂:比工厂方法更高级一些,每个工厂子类都能根据需要返回不同的子类。

    示例下载

  • 相关阅读:
    hdoj_2553N皇后问题
    poj_2676
    poj_1836Alignment
    PKU ACM 搜索总结
    POJ_1426Find The Multiple
    jQuery Ajax之$.get()方法和$.post()方法
    jQuery Ajax之$.get()方法和$.post()方法
    使用jquery简化ajax开发
    jquery ajax全解析
    jQuery的一些特性和用法:
  • 原文地址:https://www.cnblogs.com/hpuCode/p/3837927.html
Copyright © 2011-2022 走看看