摘要: 分享视频链接:https://www.bilibili.com/video/BV1Q54y1R7FE/ 以下是文字稿和幻灯片: 大家好,我今天给大家分享的是外观模式: 模式动机:在软件开发过程中,程序一般会越做越大,而这样系统中类及子系统之间的影响会使彼此间的关系变得错综复杂即过多的耦合,这就导致了 阅读全文
posted @ 2020-04-03 20:56 王柯 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 分享视频链接:https://www.bilibili.com/video/BV1PC4y1x7ig/ 以下是文字稿和幻灯片: 大家好,我今天给大家分享的是观察者模式: 在生活中我们有一个很常见的场景,也就是在等红绿灯的时候 这里面呢,观察者就是我们的汽车,而观察目标就是我们的交通信号灯。 他们之间 阅读全文
posted @ 2020-04-15 20:19 王柯 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 分享视频链接:https://www.bilibili.com/video/bv1a741127Z4 分享文字稿和幻灯片: 大家好,今天分享的是建造者模式 无论是在现实世界中还是在软件系统中,都存在一些复杂的对象由很多部件构成,对于大多数用户而言,无须知道这些部件的装配细节,而是使用该对象。 建造者 阅读全文
posted @ 2020-03-26 09:55 王柯 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 什么是迪米特法则 迪米特法则也被称为最少知识原则(Least knowledge Principle,LKP)也可以表述为 一个对象应该对其他对象有最少的了解,即一个类应该对自己需要耦合或调用的类知道的最少。 我们先看看它原汁原味的英文定义: Each unit should have only l 阅读全文
posted @ 2020-03-23 18:27 王柯 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 一、什么是合成聚合原则 合成/聚合复用原则是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。 简述为:要尽量使用合成/聚合,尽量不要使用继承。 二、什么是合成? 合成(组合):表示一个整体与部分的关系,指一个依托整体而存在的关系(整体 阅读全文
posted @ 2020-03-20 12:09 王柯 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 作业问题: 某软件公司欲开发一个数据格式转换工具,可以将不同数据源如txt文件、数据库、Excel表格中的数据转换成XML格式。为了让系统具有更好的扩展性,在未来支持新类型的数据源,开发人员使用工厂方法模式设计该转换工具的核心类,客户端只需使用工厂类即可获得具体的转换类对象,再调用其相应方法实现数据 阅读全文
posted @ 2020-03-20 11:32 王柯 阅读(765) 评论(0) 推荐(0) 编辑
摘要: 分享视频链接:https://www.bilibili.com/video/av97551981 下面是本次分享的幻灯片和文字稿: 大家好,我是来自软件工程2019级的王柯。今天我在这里和大家分享一下设计原则中的开闭原则。开闭原则是整个设计原则里最有用的一条,但同时他又是最难理解和掌握的一条原则。 阅读全文
posted @ 2020-03-20 09:24 王柯 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 一.依赖倒置原则的定义 依赖倒置原则,英文缩写DIP,全称Dependence Inversion Principle。 原始定义:High level modules should not depend upon low level modules. Both should depend upon 阅读全文
posted @ 2020-03-18 15:23 王柯 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 软件的可复用性 软件复用直观来说就是再利用已有的代码,或者相关的知识去编写新的代码来构造软件。可复用的代码以及相关的知识与需求文档,设计,测试用例一样都是软件开发的组织内部所不可或缺的资产。事实上,最早为人所知的复用正是从代码复用开始的。所谓的代码复用,本质上就是对曾经编写过的代码的一部分甚至全部重 阅读全文
posted @ 2020-03-11 14:13 王柯 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 依赖关系 依赖指的是类之间的调用关系,一个类调用了另一个类的服务(方法)。如果类A在它的方法中调用另一个类B的方法或属性,则类A依赖类B。UML用带箭头的虚线表示依赖 public class Driver { public void drive(Car car) { car.move(); } … 阅读全文
posted @ 2020-03-11 00:04 王柯 阅读(190) 评论(0) 推荐(0) 编辑