随笔分类 - 设计模式
设计模式
摘要:浅拷贝 对数据类型是基本数据类型的成员变量,浅拷贝只会进行直接赋值 对数据类型是引用数据类型的成员变量,那么浅拷贝会进行引用赋值 深拷贝 复制对象所有基本数据类型的成员变量值 为所有引用数据类型的成员变量申请存储空间,并复制每个引用数据类型成员变量所引用的对象,直到改对象可以达所有对象
阅读全文
摘要:简单工厂模式 定义一个创建对象的工厂类,这个类负责封装实例化对象的细节 工厂方法模式 定义一个创建对象的抽象方法,由子类来决定要实例化的对象,将对象的实例化延迟到子类 抽象工程模式 定义一个接口用来创建相关的或者具有依赖性的对象簇 核心思想 将实例化对象的细节提取出来,放到工厂角色,由工厂角色负责具
阅读全文
摘要:设计模式-单例模式 官方定义 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。并且该类只提供一个取得其对象实例的方法(静态方法) 举个最常见的例子,Spring中bean的默认都是单例模式,每个bean定义只生成一个对象实例,每次getBean请求获得的
阅读全文
摘要:设计原则总结 开闭原则:要求对扩展开放,对修改关闭 里氏替换原则:不要破坏继承体系 依赖倒置原则:要求面向接口编程 单一职责原则:实现类职责要单一 接口隔离原则:在设计接口的时候要精简单一 迪米特法则:只与直接的朋友通信 合成复用原则:尽量使用聚合和组合的方式,而不是使用继承 设计原则的核心思想 找
阅读全文
摘要:开闭原则 官方定义 开闭原则(Open Close Principle)又称为OCP原则,他的官方定义如下 一个软件实体如类,模块和函数都应该对扩展开放,对修改关闭 基本介绍 对扩展开发--提供方 对修改关闭--调用方 注意事项 开闭原则-最基础最重要的设计原则 开闭原则可以提要复用性和可维护性
阅读全文
摘要:里氏替换原则 聊聊继承 继承优势 提高代码的复用性(每个子类有拥有父类的属性和方法) 提高代码的可扩展性 继承劣势 继承是侵入性的(只要继承,就必须拥有父类的属性和方法) 继承机制很大的增加了耦合性 继承其实是一把双刃剑 基本介绍 里氏替换原则通俗的来讲:子类可以扩展父类的功能,但是子类不能修改父类
阅读全文
摘要:官方定义 接口隔离原则(Interface Segregation Principe),又称为ISP原则,官方定义为: 1、Clients should not be forced to depend upon interfaces that they don't use. 客户端不应该依赖它不需要
阅读全文
摘要:官方定义 单一职责原则(Single Responsibility Principe SRP)有且仅有一个原因引起类的变更 顾名思义:一个类只负责一项职责 基本介绍 即对类来说,一个类应该值负责一项职责。如果类A负责两个不同职责:职责1,职责2,当职责1需求变更而改变A时,可能造成职责2执行错误,所
阅读全文