最近这段时间一直在研究设计模式,感觉还是要应用于实践中,在会有所得,就像生活一样,听的,看的,不如自己去实践,现在将小小的心的写下来
一。软件的可维护性和可复用性
1.可复用性:
<1>可插入性:将具有同样接口的类去替换软件中的一个类,程序不会受到影响.
<2>可扩展性:新的功能可以很容易的加入到软件中
<3>灵活性:对软件中的修改,可以很平稳的过渡,对其他模块没有影响
2.可维护和可复用的基石:设计原则和设计模式
3.java面向对象的基本特性:封装,继承,多态,抽象.
二,设计原则
1.开闭原则:
<1>对扩展开发,对修改关闭。
<2>面向对象的语言来讲:就是不可以修改的是系统的抽象层,可以扩展的是系统的实现层
<3>抽象化是关键
<4>对变化的封装:一中变化不要和另外一种变化混在一起。继承是封装变化的方法。一个类的继承等级结构,不要超过两层.
2.里氏替换原则
<1>基类可以出现的地方,子类一定可以出现
3.依赖倒转原则
<1>要依赖抽象编程,而不是实现
<2>对方法的声明,参数的声明,对象的声明等等最好是用抽象
4.组合、聚合复用原则
<1>组合聚合复用优先于继承
<2>一个类是另外一个类的角色,使用组合聚合
5.接口隔离原则
<1>使用尽可能多的接口比使用单一接口要好
<2>接口的合理划分:一个接口代表一个角色
<3>定制服务:为不同的客户提供不同的接口
<4>接口的污染:面向对象的一个关键是对接口和角色的合理划分
6.迪米特法则
<1>只和朋友说话:
<2>对类,方法,变量的访问权限
6.srp(单一职责原则)
<1>一个类只有一个地方可以变化
<2>一个类的变化只影响一个类
<3>一个类的变化只影响一个等级接口
抽象类:
<1>抽象类是用了继承的
<2>是用继承的四点要求:
不要从工具类继承,is-a和has-a关系,不会将子类设计为其他类的子类,子类是扩展父类的功能,而不是置换和撤销
接口:
<1>接口是对客户的承诺,一断做出就无法更改
以后分析,不过想想,以后补充中。。。
分享到:
相关推荐
NULL 博文链接:https://huangfeihome.iteye.com/blog/1197887
Java中23种设计模式详解,很不错,很详细,看了后体会很多!
大神详解,这么详细的Java设计模式不收藏可惜了 设计模式是很多程序员总结出来的优秀实践。曾经在刚开始写项目的时候学习过设计模式,在开发过程中,也主动或者被动的使用过。现在写代码虽说不会特意明确在用哪种...
Java设计模式 是学习Java后面进行设计不可缺少的学习步骤,而且这个很为重要,只有掌握好设计模式才能有可能去设计大型项目,不然很困难的,所以建议大家用心去体会Java设计模式 ....
java三种工厂模式文档+三个实例,里面有个word文档是学习文档 然后配套有三个项目学习
本代码时关于设计模式,可以直接使用的源代码,java程序编写。易懂易学,可以在实践中体会模式。
实验一、使用Visio或Rose画出6个创建型设计模式的UML图。在实验报告中说明使用Visio或Rose画UML图的心得体会,并分析总结各个创建型设计模式的特点和适用场合。
非常适合初学设计模式的人学习,因为大多数的人学习设计模式只是停留在理论阶段,但是实际上需要自己去写出具体的代码才能体会其中的精华思想的,所以我就写了着三个例子程序来帮助大家学习设计模式。 当然如果是...
工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。 为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成...
全套的23种设计模式PDF文档,每一个文档都有这该种设计模式的详细分析和解说及用例分析,用例分析也有全部的源代码(java)实现,好好体会这个文档一定会对设计模式有一个深入学习的过程
设计模式:Java语言中的应用 <br>本书是一本Design Pattern的入门书,书中以浅显易懂的语言逐一说明了GoF的23个Design Pattern,让初次学习面向对象的读者也能立即掌握。在本书中不会看到死板的理论型文章,以Java...
《漫谈设计模式》主要从最基本的设计模式入手,并结合一些J2EE开发过程经常遇见的技术和概念,你将全面理解这10多个设计模式,并在开发过程中,让你真正体会和思考面向对象编程的思想,也只有掌握这些,你才会能...
理解体会java面向对象的设计思想,更好的运用在应用程序当中
参考文献 16 [1] 印旻.Java与面向对象程序设计教程.北京:清华大学出版社,1999.11 16 [2] 宛延闿.Java程序设计实例剖析.北京:国防工业出版社,2003.03 16 [3] 周晓聪.面向对象程序设计与Java语言.北京:机械工业...
自己学习Java的心得体会,以自己的方式总结 适合新手 快速操作新项目知识
本书主要从最基本的设计模式入手,并结合一些J2EE开发过程经常遇见的技术和概念,你将全面理解这10多个设计模式,并在开发过程中,让你真正体会和思考面向对象编程的思想,也只有掌握这些,你才会能成为一位真正的...
在本书中不会看到死板的理论型文章,以Java语言写出书中各Pattern的范例程序,可以直 接在计算机上运行,便于读者深入体会和应用。学习设计Pattern不仅是为了将来做准备,而且有助于从另一个全新角度重新审视我们...
Head.First设计模式共667页, 本书荣获2005年第十五届Jolt通用类图书震撼大奖。 本书英文影印版被《程序员》等机构评选为2006年最受读者喜爱的十大IT图书之一 。 本书趋近完美,因为它在提供专业知识的同时,仍然...
还有模式告白节目,将设计模式拟人化成节目来宾,畅谈其内在的一切。 本书大量采用uML的class Diagram(Static Structure Diagram)。 书中的例子程序虽然都是用JaVa编写,但是本书所介绍的内容对于任何00语言的用户都...
第12章介绍如何将两个以上的设计模式结合起来成为新的设计模式(例如著名的MVC模式),作者称其为复合设计模式(这是作者自创的名称,并非四人组的标准名词),第13章介绍如何进一步学习设计模式,如何发觉新的设计...