• 设计模式的学习


    一、单一原则

    二、开放封闭 :为了满足开闭原则,需要对系统进行抽象化设计

    三、里氏替换 : 可以很容易实现同一个父类下各个子类的替换,客户端可以毫不察觉

    四、依赖倒置 :抽象不应该依赖细节,细节应该依赖于抽象

    五、接口隔离 :

    六、迪米特法则 :对象与对象之间避免少的方法来关联

    七、工厂模式

      1.简单工厂

      2.工厂方法 :适用于创建大量的对象,关注于产品等级结构    产品等级结构理解为不同的厂商同一个产品(方法)

      3.抽象工厂 :适用于创建大量的对象,关注于产品族             产品族理解为同一个厂商不同的产品(方法)

      

    八、建造者模式 : 通过创建建造者对象通过链式调用,传入简单的参数来处理内部复杂的方法

    九、单例模式 : 这里面会有指令重排序问题

      正常顺序是:1.分配内存

                        2.初始化对象

            3.把对象指向内存

     

           指令重排序的图

    十、原型模式 :适用于类初始化消耗大量资源、构造函数比较复杂,它不会调用构造器,直接去深克隆或者浅克隆

      优点 : 原型模式比new一个资源性能高,创建简化过程

      缺点 :必须在Object函数里面重新clone(克隆)的方法

      额外知识点:深拷贝、浅拷贝的区别

            深拷贝:它拷贝的是对象的里面的内容

            浅拷贝:它拷贝的是对象的创建的地址

    十一、外观模式 : 子系统复杂,通过外观模式提供简单的接口调用子系统。

                               就是把复杂的子系统的方法合并成一个外观方法供外面使用,以供简便

    十二、装饰者模式 : 给对象添加功能,可以动态生成和者取消

         首先定义抽象实体,定义一个实体去继承抽象实体,再定义抽象装饰者继承抽象实体,再定义装饰者实体继承抽象装饰者,这样就可以动态添加装饰方法

    十三、模版模式

    十四、组合模式  这两个需要学习

  • 相关阅读:
    FULL JOIN 与 CROSS JOIN
    [MSDN] GROUP BY (Transact-SQL)
    T-SQL 函数概述
    SELECT TOP column FROM table [ORDER BY column [DESC]]
    NOT 运算符
    SQL Server 模式和名称解析
    [转]Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)
    深入理解Java内存(图解)
    clickhouse 安装部署(linux)
    DBeaver通过phoenix连接云主机的hbase
  • 原文地址:https://www.cnblogs.com/liunx1109/p/12373798.html
Copyright © 2020-2023  润新知