`

一:Java與模式

阅读更多
不变@变---软件设计的永恒之道
静@动----UML建模
可维护性&可复用性&独立

软件设计原则(善为士者不武:一个好的软件设计师在其设计的软件投入使用之后很少作大规模的修改):
(1)"开-闭"原则(Open-Closed Principle)
对扩展开放,对修改关闭:即在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展。 (用面向对象的语言来讲,不允许更改的是系统的抽象层,而允许扩展的是系统的实现层,所以,这一原则主要体现在系统接口和抽象类的设计,这个抽象层预见了所有的可能扩展,因此,在任何扩展下都不会改变,因此在任何扩展的情况下都不会改变,这使得系统的抽象层不需要修改,从而做到了对修改关闭;同时,由于抽象层导出的一个或多个新的具体类可以改变系统的行为,因些系统的设计对扩展是开放的)

要百分百做到"开-闭"原则是不可能的,以下的原则是"开-闭"原则的手段和工具,是附属于"开-闭"原则的:
(2)里氏代换原则(Liskov Substitution Principle)
这一原则说,任何基类可以出现的地方,子类一定可以出现,这一原则是对实现抽象化的具体步骤的规范。
(3)依赖倒转原则(Dependency Inversion Principle)
这个原则说的是要依赖于抽象,不要依赖于实现
(4)接口隔离原则(Interface Segregation Principle)
这个原则讲的是应当为客户端提供尽可能小的单独接口,以限制软件实体间通信的宽度。
(5)合成/聚合复用原则(Composition/Aggregation Principle)
这个原则讲的是要尽量使用合成/聚合,而不是用继承关系达到复用的目的.这个按我的理解就是:比如说有父子两个类都在用到一个方法,我们可以把这个方法封装到另一个类C里面,在父子类里拥有C的引用以达到复用.
(6)迪米特法则(Law of Demeter--LoD)
这个法则讲的是软件实体之间应该尽可能少地发生相互作用,以限制实体间通信的宽度和深度

Java中的模式
(1)策略模式
策略模式讲的是,如果有一组算法,那么就把每一个算法封装到一个类里,再让这些类继承一个抽象类,使得这些类可以互换.
(2)简单工厂模式

对重构的讨论:
如果一个条件转移语句没有涉及到重要的商务逻辑,或者不会随时间的变化而变化,这时候将条件转移语句改写成为多态性就是一种没有意义的浪费.

java.util.Calendar并不能容纳中国阴历,所以它并不符合"开-闭"原则
分享到:
评论

相关推荐

    Java脚本编程:语言框架与模式

    资源名称:Java脚本编程:语言框架与模式内容简介:《Sun公司核心技术丛书·Java脚本编程语言、框架与模式》讲解了脚本语言的基本概念和使用方法,概括了Java开发人员可以使用的解决方案,并探讨了在Java应用程序中...

    JAVA与模式

    在阎宏博士的《JAVA与模式》一书中开头是这样描述合成(Composite)模式的:  合成模式属于对象的结构模式,有时又叫做“部分——整体”模式。合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成...

    java与模式

    介绍:难得一见的国人写的Java好书。主要讲解设计原则以及最为常见的设计模式的实用教材。这本书出现的比较早,是初级到中高级必读的图书之一。

    java与模式源码

    java与模式 作者:阎宏 本书是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为了工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。

    Head First 设计模式 JAVA源码

    所有的设计模式Java实现。 第一讲:简单工厂模式 第二讲:工厂方法模式 第三讲:抽象工厂模式 第四讲:工厂模式在开发中的运用 第五讲:单例模式 第六讲:原型模式 第七讲:建造者模式 第八讲:装饰模式 第...

    java与模式pdf书籍

    java与模式是一本有关java设计模式的很好的书籍,讲的很全面透彻!

    《java与模式》一书源代码

    《java与模式》一书源代码

    java与模式.PDF

    阎宏所著的java与模式一书PDF版

    java与模式-阎宏

    java与模式-阎宏有源代码-超清的配套书,自已整合一个压缩包,希望大家多提意见

    java与模式源码-DesignPatterns:java设计模式与

    java与模式源码 2021-05-02 17:22:51 设计模式pdf与源码 感悟 书从来不是看的而是用的 在这个学习资料料⼏乎爆炸的时代,甚⾄至你可以轻易就获取⼏个T的视频,⼩手轻⼀点就收藏⼀堆文章,但却很少去看。学习的过程...

    java与模式光盘源码

    优秀图书阎宏的《Java与模式》一书光盘源码

    《Java与模式》完整带目录书签PDF版(3)

    本书是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为了工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,第一个章节讲解一个编编程模式,说明此模式的用意、...

    Java与模式pdf

    java与模式一书是我老师当年推荐给我的,不过这本书早就停止了发行,我也是好不容易找到pdf版本,现在共享给大家

    java与模式一书源代码

    java与模式一书源代码java与模式一书源代码java与模式一书源代码java与模式一书源代码java与模式一书源代码

    jsp火车查询系统JSP java编程开发语言应用技术:java|jsp+ mysql

    JSP 火车查询系统 是一套完善的WEB设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 应用技术:java|jsp+ mysql 开发工具:Myeclipse或Eclipse、jdk、tomcat...

    《Java与模式》2

    Java与模式(附光盘软件工程研究院) 作者:阎宏 本书是一本讲解设计原则以及最为常见的设计模式的实用教材,目的是为了工作繁忙的Java系统设计师提供一个快速而准确的设计原则和设计模式的辅导。本书分为55章,...

    Java 设计模式

     一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。 6、合成复用原则(Composite Reuse Principle)  原则是尽量使用合成/聚合的方式,而不是使用继承。继承实际上破坏了类的封装性...

    Java与模式part3

    这是《Java与模式》分割后的第三部分,文件名:Java与模式.part3.rar <br/>注:共三部分,全部下载后再放同一文件夹下,运行其中一个解压即可!

    Java与模式part2

    这是《Java与模式》分割后的第二部分,文件名:Java与模式.part2.rar <br/>注:共三部分,全部下载后再放同一文件夹下,运行其中一个解压即可!

Global site tag (gtag.js) - Google Analytics