zoukankan      html  css  js  c++  java
  • 设计模式网上资料整合理解——结构型模式

    桥接模式(Bridge)
          桥接模式用于解决系统多维度变化的问题,将抽象部分与实现部分分离,使它们都可以独立的变化。(参见对Bridge模式的理解
    结构图:
          
    生活中的例子:
          
          

    组合模式(Composite)

    意图:
          将对象组合成树形结构以表示“部分
    -整体”的层次结构。Composite模式使得用户对单个对象和组合对象的使用具有一致性。[GOF 《设计模式》]
    生活中的例子:
          组合模式最佳例子是.NET的控件树,具体参考张逸的《设计之道》,或看.NET控件源码。
    结构图:
          

    享原模式(FlyWeight)
          当在一个线程中需要创建一个类的很多实例,而这个类的实例之间只是某些状态不同,就可以考虑是否可以将类中实例化后不同的部分提取出来,以使剩余的部分得以共享,减少内存开销。这种解决方法就是享原模式,它主要是解决上面提到的性能问题。

    结构图:
          

    代理模式(Proxy)

    结构图:
          
    代码:

    using System;

    namespace DoFactory.GangOfFour.Proxy.Structural
    {
      
      
    // MainApp test application 

      
    class MainApp
      
    {
        
    static void Main()
        
    {
          
    // Create proxy and request a service 
          Proxy proxy = new Proxy();
          proxy.Request();

          
    // Wait for user 
          Console.Read();
        }

      }


      
    // "Subject" 

      
    abstract class Subject 
      
    {
        
    public abstract void Request();    
      }


      
    // "RealSubject" 

      
    class RealSubject : Subject
      
    {
        
    public override void Request()
        
    {
          Console.WriteLine(
    "Called RealSubject.Request()");
        }

      }


      
    // "Proxy" 

      
    class Proxy : Subject
      
    {
        RealSubject realSubject;

        
    public override void Request()
        
    {
          
    // Use 'lazy initialization' 
          if (realSubject == null)
          
    {
            realSubject 
    = new RealSubject();
          }


          realSubject.Request();
        }
      
      }

    }

  • 相关阅读:
    Exp9 Web安全基础
    Exp 8 Web基础 ——20175201张驰
    Exp7 网络欺诈防范 20175201张驰
    《知识付费平台》个人报告——20175201张驰
    20175201 EXP6 MSF基础应用
    Exp5 信息搜集与漏洞扫描——20175201张驰
    Exp4 恶意代码分析—20175201张驰
    20175201张驰exp3——免杀原理与实践
    #20175201张驰 网络对抗exp2——后门原理与实践
    20175201张驰 网络对抗exp1—PC平台逆向破解
  • 原文地址:https://www.cnblogs.com/end/p/729285.html
Copyright © 2011-2022 走看看