H__D  

2021年3月14日

摘要: 在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成。例如,计算机是由OPU、主板、内存、硬盘、显卡、机箱、显示器、键盘、鼠标等部件组装而成的,采购员不可能自己去组装计算机,而是将计算机的配置要求告诉计算机销售公司,计算机销售公司安排技术人员去组装计算机,然后 阅读全文
posted @ 2021-03-14 16:00 H__D 阅读(137) 评论(0) 推荐(0) 编辑
 
摘要: 原型模式基本介绍 原型模式(Prototype模式)是指:用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象 原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节 工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请 阅读全文
posted @ 2021-03-14 15:46 H__D 阅读(124) 评论(0) 推荐(0) 编辑
 
摘要: 基本介绍 工厂模式的意义就是将实例化对象的代码提取出来,放到一个类中统一管理和维护,达到和主项目的依赖关系的解耦。从而提高项目的扩展和维护性 三种工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式) 设计模式的依赖抽象原则 创建对象实例时,不要直接 new 类,而是把这个 new 类的动作放在一个工 阅读全文
posted @ 2021-03-14 15:32 H__D 阅读(126) 评论(0) 推荐(0) 编辑
 
摘要: 设计模式介绍 设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案,设计模式(Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的 一段时间的试验和错误总结出来的 设计模式的本质提高软件的维护性,通用性和扩展 阅读全文
posted @ 2021-03-14 15:01 H__D 阅读(115) 评论(0) 推荐(0) 编辑
 
摘要: 合成复用原则(Composite Reuse Principle) 基本介绍 原则是尽量使用合成/聚合的方式,而不是使用继承。 如果要使用继承关系,则必须严格遵循里氏替换原则。合成复用原则同里氏替换原则相辅相成的,两者都是开闭原则的具体实现规范。 合成复用原则的重要性 通常类的复用分为继承复用和合成 阅读全文
posted @ 2021-03-14 12:20 H__D 阅读(311) 评论(0) 推荐(0) 编辑
 
摘要: 迪米特法则(DemeterPrinciple) 基本介绍 一个对象应该对其他对象保持最少的了解 类与类关系越密切,耦合度越大 迪米特法则(DemeterPrinciple)又叫最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除 阅读全文
posted @ 2021-03-14 12:15 H__D 阅读(236) 评论(0) 推荐(0) 编辑
 
摘要: 基本介绍 当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 开闭原则(OpenClosedPrinciple)是编程中最基础、最重要的设计原则 一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用 阅读全文
posted @ 2021-03-14 12:09 H__D 阅读(234) 评论(0) 推荐(0) 编辑
 
摘要: 里氏替换原则 首先,OO(Object Oriented:面向对象)中的继承性的思考和说明: 继承包含这样一层含义:父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有的子类必须遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏 继承在给程序设计 阅读全文
posted @ 2021-03-14 12:03 H__D 阅读(128) 评论(0) 推荐(0) 编辑
 
摘要: 依赖倒转原则(Dependence Inversion Principle) 基本介绍: 高层模块(调用方)不应该依赖低层模块(被调用方),二者都应该依赖其抽象 抽象不应该依赖细节,细节应该依赖抽象 依赖倒转(倒置)的中心思想是面向接口编程 依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象 阅读全文
posted @ 2021-03-14 11:56 H__D 阅读(160) 评论(0) 推荐(0) 编辑
 
摘要: 接口隔离原则(Interface Segregation Principle) 基本介绍: 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。(最小可理解为最精确,比如说类A只会使用Interface1中方法1、2、3,多出来的方法4、5就导致了不是最精确的接口,所谓精 阅读全文
posted @ 2021-03-14 00:47 H__D 阅读(130) 评论(0) 推荐(0) 编辑
 
摘要: 一、设计模式的目的: 编写软件过程中,程序员面临来自耦合性,内聚性,可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好的: 代码重用性 (即:相同功能的代码,不用多次编写) 可读性 (即:编程规范性, 便于其他程序员的阅读和理解) 可扩展性 (即:当需要增加新的 阅读全文
posted @ 2021-03-14 00:38 H__D 阅读(275) 评论(0) 推荐(0) 编辑