设计模式

设计模式:
  原则:
    开闭原则,里氏替换原则,接口隔离,迪米特原则,单一职责,依赖倒置
    创建:factory,singleton,prototype,builder,simple factory
    结构:decorator,proxy,bridge,iterator
    行为:observer,command,visitor,template,strategy
   
    ----------------------
    command
    
    control            Accessor
    ctrl1
    ctrl2
    control->ctrl1 ->Accessor
    proxy :
        分成多个子类,其实是利用了多态的实现,不过对象群体和装饰者模式有区别,比如A->B,B可以根据实际情况对其多种形式的实现
        避免if else
    bridge:
        父类:    //包含接口 子类通常以Impl命名
        父类包含子类的Impl对象,接口调用子类的实现
    decorator:
        Interface + 子类实现,e.g filesteam socketstream
        
    observer:  在对象改变时候调用listener接口
    singleton: 懒汉模式 和饿汉模式
                线程安全和不安全
    factory:   create objec
    builder 也可以直接创建对象
    visitor:    
            class stringvisitor {
                void GetString(string str)
                {
                
                }
            }
            //用于获取这个字符串所用的string
            void fun(IStrVisitor str);
    
    
    
View Code
原文地址:https://www.cnblogs.com/yang131/p/13859749.html