上一页 1 2 3 4 5 6 ··· 13 下一页
摘要: 李建忠老师有一个设计模式的课程,其中在讲到模板方法模式曾说:如果你只想学习一种设计模式就学习模板方法吧。由此可见它使用的广泛性。 今天咱们就来一起学习模板方法模式。 那什么是模板方法模式呢? 在回答这个问题前,咱们先来看看模板。提到模板,相信大家马上能够想到一些东西,如ppt的模板,报表导出的exc 阅读全文
posted @ 2020-05-11 10:59 windpoplar 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 1.定义 软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。 2.分析 为什么要优先使用组合? 通常类的复用分为继承复用和合成复用两种,继承复用虽然有简单和易实现的优点,但它也存在以下缺点。 1)继承复用破坏了类的封装性。 因为继承会将父类的实现细节暴露给子类,父类 阅读全文
posted @ 2020-04-19 21:32 windpoplar 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 1.定义 最小知识原则。每个模块只应该了解那些与它关系密切的模块的有限知识。或者说,每个模块只和自己的朋友“说话”,不和陌生人“说话”。 不该有直接依赖关系的类之间,不要有依赖;有依赖关系的类之间,尽量只依赖必要的接口。 2.分析 高内聚是指相近的功能应该放到同一个类中,不相近的功能不要放到同一个类 阅读全文
posted @ 2020-04-19 18:52 windpoplar 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1.定义 高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。 代码要依赖于抽象的类,而不要依赖于具体的类。要针对接口或抽象类编程,不要针对具体实现类编程。 2.分析 为什么使用依赖倒置原则? 1)增加松耦合 抽象接口不改变,具体类实现接口,具体类容易扔掉,更换 阅读全文
posted @ 2020-04-19 16:12 windpoplar 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 1.定义 客户端不应该依赖它不需要的接口,类间的依赖关系应该建立在最小的接口上。 2.分析 接口隔离原则是对接口的使用进行约束规范的一个原则,它告诉我们要想把接口用好,关键在于隔离。接口隔离原则告诉我们,不要把一大堆方法塞进一个接口里,导致这个接口变得臃肿无比。应该要根据实际需要,让接口中只有用得上 阅读全文
posted @ 2020-04-18 20:00 windpoplar 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 1.定义 所有引用基类(父类)的地方必须能透明地使用其子类的对象。 里式替换是用来指导继承关系中子类该如何设计的,子类的设计要保证在替换父类的时候,不改变原有程序的逻辑以及不破坏原有程序的正确性。 2.分析 为什么要遵循LSP? 违背LSP将导致没有定义的行为,没有定义的行为意味着它也许在开发阶段工 阅读全文
posted @ 2020-04-18 16:19 windpoplar 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 1.定义 设计良好的类或者模块应该对扩展开发,对修改关闭。 添加一个新的功能应该是,在已有代码基础上扩展代码(新增模块、类、方法等),而非修改已有代码(修改模块、类、方法等)。 2.分析 为什么要使用开闭原则? 使用开闭原则能够限制对现有代码的修改,这会降低引入新的BUG的风险,其实我们在对原有代码 阅读全文
posted @ 2020-04-18 11:59 windpoplar 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 1.定义 任何一个类或者模块都应该只对某一个或一类行为者负责。 也就是说不要设计大而全的类,要设计粒度小、功能单一的类。换个角度来讲就是,一个类包含了两个或者两个以上业务不相干的功能,那我们就说它职责不够单一,应该将它拆分成多个功能更加单一、粒度更细的类。 2.分析 为什么要遵循单一职责原则? 1) 阅读全文
posted @ 2020-04-18 10:11 windpoplar 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 第二十章 业务逻辑 通常将应用程序划分为业务逻辑和插件两部分。业务实体是计算机系统中的一种对象,这种对象中包含了一系列用于操作关键数据的业务逻辑。用例描述的是某种特定应用情景下的业务逻辑。用例更靠近系统的输入和输出。而业务实体是一个可以适用于多个应用情景的一般化概念,相对地离系统的输入和输出更远。所 阅读全文
posted @ 2020-03-29 19:09 windpoplar 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 第十五章 什么是软件架构 软件架构的实质就是规划如何将系统切分成组件,并安排好组件之间的排列关系,以及组件之间互相通信的方式。设计软件架构的目的,就是为了在工作中更好地对这些组件进行研发、部署、运行以及维护。软件架构设计的主要目标是支撑软件系统的全生命周期,设计良好的架构可以让系统便于理解、易于修改 阅读全文
posted @ 2020-03-28 17:09 windpoplar 阅读(498) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 13 下一页