摘要:
设计模式介绍 设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案,设计模式(Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的 一段时间的试验和错误总结出来的 设计模式的本质提高软件的维护性,通用性和扩展
阅读全文
posted @ 2021-03-14 15:01
H__D
阅读(131)
推荐(0)
摘要:
合成复用原则(Composite Reuse Principle) 基本介绍 原则是尽量使用合成/聚合的方式,而不是使用继承。 如果要使用继承关系,则必须严格遵循里氏替换原则。合成复用原则同里氏替换原则相辅相成的,两者都是开闭原则的具体实现规范。 合成复用原则的重要性 通常类的复用分为继承复用和合成
阅读全文
posted @ 2021-03-14 12:20
H__D
阅读(626)
推荐(0)
摘要:
迪米特法则(DemeterPrinciple) 基本介绍 一个对象应该对其他对象保持最少的了解 类与类关系越密切,耦合度越大 迪米特法则(DemeterPrinciple)又叫最少知道原则,即一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部。对外除
阅读全文
posted @ 2021-03-14 12:15
H__D
阅读(297)
推荐(0)
摘要:
基本介绍 当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。 开闭原则(OpenClosedPrinciple)是编程中最基础、最重要的设计原则 一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用
阅读全文
posted @ 2021-03-14 12:09
H__D
阅读(297)
推荐(0)
摘要:
里氏替换原则 首先,OO(Object Oriented:面向对象)中的继承性的思考和说明: 继承包含这样一层含义:父类中凡是已经实现好的方法,实际上是在设定规范和契约,虽然它不强制要求所有的子类必须遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏 继承在给程序设计
阅读全文
posted @ 2021-03-14 12:03
H__D
阅读(159)
推荐(0)
摘要:
依赖倒转原则(Dependence Inversion Principle) 基本介绍: 高层模块(调用方)不应该依赖低层模块(被调用方),二者都应该依赖其抽象 抽象不应该依赖细节,细节应该依赖抽象 依赖倒转(倒置)的中心思想是面向接口编程 依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象
阅读全文
posted @ 2021-03-14 11:56
H__D
阅读(210)
推荐(0)
摘要:
接口隔离原则(Interface Segregation Principle) 基本介绍: 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。(最小可理解为最精确,比如说类A只会使用Interface1中方法1、2、3,多出来的方法4、5就导致了不是最精确的接口,所谓精
阅读全文
posted @ 2021-03-14 00:47
H__D
阅读(202)
推荐(0)
摘要:
一、设计模式的目的: 编写软件过程中,程序员面临来自耦合性,内聚性,可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好的: 代码重用性 (即:相同功能的代码,不用多次编写) 可读性 (即:编程规范性, 便于其他程序员的阅读和理解) 可扩展性 (即:当需要增加新的
阅读全文
posted @ 2021-03-14 00:38
H__D
阅读(323)
推荐(0)
摘要:
一、 什么是时序图? 时序图(Sequence Diagram),亦称为序列图、循序图或顺序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。 时序图是一个二维图,横轴表示对象,纵轴表示时间,消息在各对象之间横向传递,依照时间顺序纵向排列。 二、 时序图的作用是
阅读全文
posted @ 2021-03-13 11:53
H__D
阅读(2919)
推荐(1)
摘要:
一、什么是类图 类图(Class diagram)主要用于描述系统的结构化设计。类图也是最常用的UML图,用类图可以显示出类、接口以及它们之间的静态结构和关系。 二、类图的元素 在类图中一共包含了以下几种模型元素,分别是:类(Class)、接口(Interface)以及类之间的关系。 2.1 类(C
阅读全文
posted @ 2021-03-13 00:09
H__D
阅读(4898)
推荐(0)