摘要: 视频地址:https://www.bilibili.com/video/bv1LC4y1W7R5 观察者模式是23种设计模式种较常用的设计模式之一。数据源发生变化时(比如状态转变),如果一个对象(通常我们称之为主题subject)需要自动地通知其他多个对象(称为观察者observer),就可以采用这 阅读全文
posted @ 2020-04-27 22:04 涤生- 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 需求描述: 某软件公司欲开发一个数据格式转换工具,可以将不同数据源如txt文件、数据库、Excel表格中的数据转换成XML格式。为了让系统具有更好的扩展性,在未来支持新类型的数据源,开发人员使用工厂方法模式设计该转换工具的核心类,客户端只需使用工厂类即可获得具体的转换类对象,再调用其相应方法实现数据 阅读全文
posted @ 2020-04-21 22:50 涤生- 阅读(2099) 评论(0) 推荐(0) 编辑
摘要: 视频审核中。。 定义 装饰者模式又名包装模式。动态的给一个对象添加一些额外的职责。 装饰者模式适用场景: (1)以动态的方式给对象添加职责。 (2)处理那些可以撤销的职责。 (3)当采用生成子类的方法进行扩充时,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。 装饰 阅读全文
posted @ 2020-04-08 14:18 涤生- 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 视频链接:https://www.bilibili.com/video/BV1eK4y1C7zi/ 建造者模式 建造者模式也是属于创建型模型,是23种GOF之一。 定义:将一个复杂对象的构建和它的表示分离,使同样的构建构成可以创建不同的表示。 建造者模式适用于一个复杂的对象的建造,而且在建造的过程中 阅读全文
posted @ 2020-03-28 21:43 涤生- 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 视频地址:https://www.bilibili.com/video/BV1MC4y1s7bt/ 什么是开闭原则(Open Closed Principle)? 定义:软件实体应该对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。 描述: 在软件的生命周期内,因为变化、升级 阅读全文
posted @ 2020-03-26 18:20 涤生- 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 迪米特法则(Law ofDemeter,LoD)又叫最小知识原则(least knowledge principle,lkp),定义为:一个对象对其它对象尽可能少的理解。 通俗的说法有很多,比如,只与你直接的朋友们通信;不要跟“陌生人”说话,目的就是降低类之间的耦合; 这里的直接朋友指的是:出现成员 阅读全文
posted @ 2020-03-25 22:10 涤生- 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 定义:尽量使用对象组合/聚合, 而不是继承关系达到软件复用的目的 就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新对象通过向这些对象的委派达到复用已有功能的目的。简而言之,要尽量使用合成/聚合,尽量不要使用继承。 合成聚合的优点 (1) 新对象存取成分对象的唯一方法是通过成分对象 阅读全文
posted @ 2020-03-21 20:14 涤生- 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 何为依赖导致原则? Robert C. Martin在他的著作《敏捷软件开发:原则、模式与实践》中有这样的两句描述 1.High-level modules should not depend onlow-level modules. Both should depend on abstractio 阅读全文
posted @ 2020-03-20 23:16 涤生- 阅读(2762) 评论(0) 推荐(0) 编辑
摘要: java类之间一般有6种关系,依赖、关联、聚合、组合、继承(泛化)、实现。 耦合度:依赖<关联<聚合<组合<继承<实现 依赖关系 简单来说,使用即依赖。A类会用到B类,这种关系具有偶然性,临时性。比如使用一个类的属性、方法,或以其作为方法的参数传入,或以其作为方法的返回值输出。[depends-a] 阅读全文
posted @ 2020-03-15 14:59 涤生- 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 可复用性和可维护性是评价一个系统设计好坏的重要标准。一个好的软件设计,必须能够允许新的设计要求以较为容易和平稳的方式加入到已有的系统中去,从而使这个系统能够不断的焕发青春。 一个可维护性较好的系统,应当允许维护工作能够以容易、准确、安全和经济的形式进行。 软件可维护性是指:维护人员理解、改正、改动和 阅读全文
posted @ 2020-03-15 13:43 涤生- 阅读(898) 评论(0) 推荐(0) 编辑