`
FlyingFairy
  • 浏览: 11905 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Java设计模式 基本原则(一)

阅读更多

好久没用更新blog了,也是因为升入大二,听说课程会很多,以至于一直没敢安排自己的课余学习。但是毕竟明年的实习就看这个大二上了,周围的人都在做项目或是组团队去干了,自己也不能落下。

这一段时间,也是没做什么项目,看了设计模式的东西。

 

设计模式,简单了解之后,发现这对以后的项目开发真的很有好处,有了好的框架,好的设计,对以后的维护和拓展都会很方便。看了几天之后,还是用blog来记录自己的感悟比较好。

现在先讲讲基本的原则

1.单一职责原则

2.里氏替换原则

3.依赖倒置原则

4.接口隔离原则

5.迪米特法则

6.开闭原则

 

1,单一职责原则

单一职责原则(srp  There should never be more than one reason for a class to change)

单一职责原则,从他的定义就可以看得出来,重点在于 “单一职责”几个字。这个原则就是对接口框架的设计,在实际操作中,需要做到的是接口一点要做到单一职责,而实现类的设计根据实际需要尽量做到只有一个原因引起变化,也就是单一的原则。

看完和简单理解单一职责原则之后,反思一下之前的小项目的代码。虽然都是可以实现功能,但是在操作中遇到的情况就是如果修改一处地方,修改一个功能,就需要改很多的地方,有时候一个细节没用修改,就导致花费很多时间去寻找bug。如果是以后的大项目,这样的设计几乎是致命的。

举个之前的简单例子。在做QQ聊天室的时候,我们定义的一个新的用户的信息,这个类中进行了属性的存储和更改,也进行了用户操作的实现,总之就是几乎所有和一个登陆的用户相关的信息,我们都放在了一个类中。而单一职责原则则要求我们需要把这些东西进行细化,做到一个接口只负责一个职责,多余的不需要干涉(这里的接口并不特指有interface关键字修饰的,而是一个类所具有的方法的特征集合,是一种逻辑上的抽象)。



 

通过对不同职责的细化处理,对之后的维护与拓展有帮助。

 

这里的要点是 我们不是面向类进行编程,而是面向接口进行编程,只要保证一个抽象的接口中是执行一个职责。当然这个职责的划分并不会有一个统一的量化标准,都是需要根据现实的需求去考虑的。我们不应该去为了满足这个原则而去刻意“ 迎合”。

 

似乎讲了许多,之后说了一句不要去刻意迎合原则就把之前的都否定了,因为还是需要视情况而定。其实在学习时,看到一个建议:接口一定要做到单一职责,类的设计尽量的满足单一职责即只有一个原因引起的变化。

 

目前的理解,设计模式是在项目实施之前的一个整体的规划,而不是一上手就一味蛮干,也许有成效,但是提前的设计可以减轻实施时的压力。

  • 大小: 70.9 KB
分享到:
评论

相关推荐

    JAVA的23种设计模式---前置:6大基本原则.mhtml

    Java23种设计模式最牛逼的例子

    《软件设计模式(Java版)》电子课件

    本书从面向对象程序设计的7个基本原则出发,用浅显易懂、可视化的UML建模语言逐一介绍GoF的23种经典设计模式。全书共9章,内容包括设计模式基础、创建型设计模式(共5种)、结构型设计模式(共7种)、行为型设计模式...

    1.java基础数据结构 2.java基础算法 3.java设计模式.rar

    大神详解,这么详细的Java设计模式不收藏可惜了 设计模式是很多程序员总结出来的优秀实践。曾经在刚开始写项目的时候学习过设计模式,在开发过程中,也主动或者被动的使用过。现在写代码虽说不会特意明确在用哪种...

    java23中设计模式

    《设计模式(java版)》从最基本的设计原理及思想出发,深入讲解和剖析了23种常见的设计模式,每种模式都对应相应的案例,这些案例通俗易懂、围绕模式的核心思想,便于读者进一步理解和学习设计模式。全书共有8章,...

    HeadFirst 设计模式java源代码

    《Head First设计模式》(中文版)共有14章,每章都...千万不要轻视这些○○原则,因为每个设计模式背后都包含了几个○○原则的概念。很多时候,在设计时有两难的情况,这时候我们必须回归到○○原则,以方便判断取舍。

    24种设计模式介绍与6大设计原则

    24种设计模式介绍与6大设计原则希望这本书的阅读者具备最基本的代码编写能力,您是一个初级的 coder,可以从中领会到怎么设计 一段优秀的代码;您是一个高级程序员,可以从中全面了解到设计模式以及 Java 的边角技术...

    Head First 设计模式 JAVA源码

    千万不要轻视这些○○原则,因为每个设计模式背后都包含了几个○○原则的概念。很多时候,在设计时有两难的情况,这时候我们必须回归到○○原则,以方便判断取舍。可以这么说:○○原则是我们的目标,而设计模式是...

    Java面向对象程序设计杨晓燕面向对象基本原则和模式.pptx

    一个类图的类名是必须的 第2页/共30页 Java面向对象程序设计杨晓燕面向对象基本原则和模式全文共30页,当前为第2页。 类的UML图 注意:属性和方法之前附加的可见性修饰符, "+"表示public,"-"表示private,"#"表示...

    Java设计模式-面向对象七大设计原则

    例如:随着计算机的不断发展,程序学习这门技术也越来越重要,很多人都开启了学习java编程学习,本文就介绍了Java编程学习的七大基本原则。 面向对象设计原则一共有七个:开闭原则、里氏替换原则、依赖倒转原则、...

    设计模式(Patterns in Java)

    的精炼性和面向对象纯洁性(设计模式是java 的灵魂),编程工作将变成一个让你时刻体 验创造快感的激动人心的过程. 为能和大家能共同探讨"设计模式",我将自己在学习中的心得写下来,只是想帮助更多 人更容易理解GoF ...

    软件设计模式(Java版)PPT

    本书从面向对象程序设计的7个基本原则出发,用浅显易懂、可视化的UML建模语言逐一介绍GoF的23种经典设计模式。全书共9章,内容包括设计模式基础、创建型设计模式(共5种)、结构型设计模式(共7种)、行为型设计模式...

    Java23种设计模式(Patterns in Java)

    由于原著都是以 C++为例, 以 Java 为例的设计模式基本又都以图形应用为例,而我们更关心Java 在中间件等服务器方面的应用,因此,本站所有实例都是非图形应用,并且顺带剖析 Jive 论坛系统.同时为降低理解难度,尽量避免...

    设计模式解析(第二版)

    本书是最简洁、清晰、实用的设计模式著作,应用最新的Java示例,为程序员和架构师提供了使用模式进行设计、开发和交付软件的方法。 本书以作者多年来为软件开发人员讲授模式的经验为基础撰写而成。其经验已经证明,...

    软件设计模式-java.pdf

    从面向对象程序设计的7个基本原则出发,用浅显易懂、可视化的UML建模语言逐一介绍GoF的23种经典设计模式。全书共9章,内容包括设计模式基础、创建型设计模式(共5种)、结构型设计模式(共7种)、行为型设计模式(共...

    java设计架构[1].doc

    本文首先考察企业级应用的一般概念和需求,然后简要阐述面向对象程序设计的基本原则,并结合软件工程的思想来讨论多层的J2EE应用架构,分析它们满足企业级应用的方式,,再通过讲述常用的几种Java设计模式和Java反射...

    head first 设计模式

    千万不要轻视这些OO原则,因为每个设计模式背后都包含了几个OO原则的概念。很多时候,在设计时有两难的情况,这时候我们必须回归到OO原则,以方便判断取舍。可以这么说:OO原则是我们的目标,而设计模式是我们的做法...

    Java面向对象程序设计杨晓燕面向对象基本原则和模式PPT教案学习.pptx

    Java面向对象程序设计杨晓燕面向对象基本原则和模式PPT教案学习.pptx

    Java设计模式——工厂设计模式

    面向对象设计的基本原则: OCP(开闭原则,Open-Closed Principle):一个软件的实体应当对扩展开放,对修改关闭。 DIP(依赖倒转原则,Dependence Inversion Principle):要针对接口编程,不要针对实现编程。 LoD...

Global site tag (gtag.js) - Google Analytics