`
java风
  • 浏览: 57437 次
  • 来自: 北京
社区版块
存档分类
最新评论
  • 泛泛evil: 总结的很好,谢谢分享
    JavaScript
  • wanxkl: 哇!总结的太好了。。凤哥哥,你好强大啊。。请问您跟凤姐什么关系 ...
    css应用

java设计原则

    博客分类:
  • java
阅读更多

原则1:DRY(Don't repeat yourself)

    即不要写重复的代码,而是用“abstraction”类来抽象公有的东西。如果你需要多次用到一个硬编码值,那么可以设为公共常量;如果你要在两个以上的地方使用一个代码块,那么可以将它设为一个独立的方法。SOLID设计原则的优点是易于维护,但要注意,不要滥用,duplicate 不是针对代码,而是针对功能。这意味着,即使用公共代码来验证OrderID和SSN,二者也不会是相同的。使用公共代码来实现两个不同的功能,其实就是近似地把这两个功能永远捆绑到了一起,如果OrderID改变了其格式,SSN验证代码也会中断。因此要慎用这种组合,不要随意捆绑类似但不相关的功能。

    原则2:封装变化

    在软件领域中唯一不变的就是“Change”,因此封装你认为或猜测未来将发生变化的代码。OOPS设计模式的优点在于易于测试和维护封装的代码。如果你使用Java编码,可以默认私有化变量和方法,并逐步增加访问权限,比如从private到protected和not public.有几种Java设计模式也使用封装,比如Factory设计模式是封装“对象创建”,其灵活性使得之后引进新代码不会对现有的代码造成影响。

    原则3:开闭原则

    即对扩展开放,对修改关闭。这是另一种非常棒的设计原则,可以防止其他人更改已经测试好的代码。理论上,可以在不修改原有的模块的基础上,扩展功能。这也是开闭原则的宗旨。

    原则4:单一职责原则

    类被修改的几率很大,因此应该专注于单一的功能。如果你把多个功能放在同一个类中,功能之间就形成了关联,改变其中一个功能,有可能中止另一个功能,这时就需要新一轮的测试来避免可能出现的问题。

    原则5:依赖注入或倒置原则

    这个设计原则的亮点在于任何被DI框架注入的类很容易用mock对象进行测试和维护,因为对象创建代码集中在框架中,客户端代码也不混乱。有很多方式可以实现依赖倒置,比如像AspectJ等的AOP(Aspect Oriented programming)框架使用的字节码技术,或Spring框架使用的代理等。

    原则6:优先利用组合而非继承

    如果可能的话,优先利用组合而不是继承。一些人可能会质疑,但我发现,组合比继承灵活得多。组合允许在运行期间通过设置类的属性来改变类的行为,也可以通过使用接口来组合一个类,它提供了更高的灵活性,并可以随时实现。《Effective Java》也推荐此原则。

    原则7:里氏代换原则(LSP)

    根据该原则,子类必须能够替换掉它们的基类,也就是说使用基类的方法或函数能够顺利地引用子类对象。LSP原则与单一职责原则和接口分离原则密切相关,如果一个类比子类具备更多功能,很有可能某些功能会失效,这就违反了LSP原则。为了遵循该设计原则,派生类或子类必须增强功能。

    原则8:接口分离原则

    采用多个与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。设计接口很棘手,因为一旦释放接口,你就无法在不中断执行的情况下改变它。在Java中,该原则的另一个优势在于,在任何类使用接口之前,接口不利于实现所有的方法,所以单一的功能意味着更少的实现方法。

    原则9:针对接口编程,而不是针对实现编程

    该原则可以使代码更加灵活,以便可以在任何接口实现中使用。因此,在Java中最好使用变量接口类型、方法返回类型、方法参数类型等。《Effective Java》 和《head first design pattern》书中也有提到。

    原则10:委托原则

    该原则最典型的例子是Java中的equals() 和 hashCode() 方法。为了平等地比较两个对象,我们用类本身而不是客户端类来做比较。这个设计原则的好处是没有重复的代码,而且很容易对其进行修改。

    总之,希望这些面向对象的设计原则能帮助你写出更灵活更好的代码。理论是第一步,更重要的是需要开发者在实践中去运用和体会。

分享到:
评论

相关推荐

    java设计原则,很实用的,看看

    Java设计原则是面向对象编程中的核心思想,它们指导开发者创建可维护、可扩展且易于理解的软件系统。本文将深入探讨这些原则,并提供如何在实际项目中应用它们的见解。 首先,我们来看单一职责原则(Single ...

    Java设计原则和设计模式学习文档

    十几年经验的java程序员指导chatgpt生成的Java设计原则和设计模式学习文档

    毕业设计-源码Java基于SSM网上试衣间设计

    【标题】"毕业设计-源码Java基于SSM网上试衣间...通过学习和研究这个项目,可以深入了解SSM框架的整合使用,以及如何在实际项目中运用Java设计原则和模式。同时,对于前端交互和后端服务的集成也是一个很好的实践案例。

    Java并发编程设计原则和模式

    本资料“Java并发编程设计原则和模式”深入探讨了如何在Java环境中有效地进行并发处理,以充分利用系统资源并避免潜在的并发问题。 一、并发编程基础 并发是指两个或多个操作在同一时间段内执行,但并不意味着这些...

    java 并发编程设计原则与模式第二版

    java 并发变成设计原则与模式第二版 PDF版本,下载即看

    DesignPrincipals:尝试Java设计原则

    Java设计原则是编程实践中的一组核心指导思想,旨在提高代码的可读性、可维护性和可扩展性。这些原则在软件开发过程中起着至关重要的作用,帮助开发者编写出优雅、高效且易于理解的代码。本篇文章将深入探讨几个关键...

    java课程设计 course-java-design

    "course-java-design"项目专注于Java设计原则和设计模式,这些都是Java开发中的核心概念,对于构建可扩展、可维护的软件至关重要。 ### 1. 设计原则 设计原则是软件开发中的基本指导方针,它们为编写高质量代码...

    JAVA精选考试试题以及适合程序设计的题目

    标签“JAVA设计”提示我们关注Java设计原则和模式。常见的设计模式如工厂模式、单例模式、观察者模式、装饰器模式等,都是软件开发中的最佳实践,能提高代码的可读性和可维护性。 五、实战题目解析 压缩包内的...

    Java设计源码.zip

    在Java编程领域,设计源码通常指的是遵循特定设计模式或原则的代码实现,这些模式和原则可以帮助开发者...通过学习和分析这些源码,开发者不仅可以深化对Java设计原则的理解,还能提升自己的编程技巧和问题解决能力。

    JAVA架构设计原则与J2EE必读书目推荐

    ### JAVA架构设计原则 #### 基本原则 在探讨JAVA架构设计时,有几个核心原则是必不可少的: 1. **分层原则**:这一原则强调通过分层来降低软件的复杂性。它将整个系统划分为不同的逻辑层级,每一层都承担特定的...

    JAVA设计模式(java设计)

    Java设计模式是面向对象编程领域中的重要概念,它是一套被广泛接受并实践的解决软件设计问题的经验总结。设计模式并非具体的代码或库,而是一种在特定情境下为了解决常见问题而制定的通用解决方案的描述。它们描述了...

    jav-desing-principles-patterns-examples:Java设计原则模式示例

    Java设计原则和模式是软件开发中的重要组成部分,它们为创建可维护、可扩展且易于理解的代码提供了指导方针。在"jav-desing-principles-patterns-examples"这个项目中,我们可以期待找到一系列关于Java设计原则和...

    Java并发编程:设计原则与模式(第二版)-3

    《Java并发编程:设计原则与模式(第二版)》是一本深入探讨Java多线程编程技术的权威著作。这本书详细阐述了在Java平台中进行高效并发处理的关键概念、设计原则和实用模式。以下是对该书内容的一些核心知识点的概述...

    java设计

    一、Java设计原则与模式 1. **面向对象设计**:Java是面向对象的语言,因此理解封装、继承和多态是基础。在设计阶段,需考虑类的职责、接口定义、以及如何通过抽象和继承构建类层次结构。 2. **设计模式**:包括...

    java并发编程:设计原则与模式.rar

    《Java并发编程:设计原则与模式》是一本深入探讨Java多线程编程的书籍,它涵盖了并发编程中的关键概念、原则和模式。在Java中,并发处理是优化应用程序性能、提高资源利用率的重要手段,尤其在现代多核处理器的环境...

    Java并发编程设计原则与模式.pdf

    《Java并发编程设计原则与模式》是Java并发编程领域的一部经典著作,作者Doug Lea在并发编程领域有着深厚的造诣。这本书详细介绍了如何在Java环境中有效地设计和实现并发程序,涵盖了众多关键概念、设计原则和实用...

    java技术文档.设计模式,maven,osgi

    在IT行业中,Java是一种广泛应用的编程语言,以其跨平台、面向对象的特点深受开发者喜爱。...通过学习和实践这些内容,开发者可以更好地掌握Java设计原则,提升项目管理水平,并且能应对更复杂、动态的模块化系统挑战。

    java设计方案模板.docx

    包括设计目标、设计原则、设计方法和工具、设计结果等方面的内容。设计概述是整个设计方案的基础和指南,对整个设计过程产生重要的影响。 二、系统结构设计 系统结构设计是指对软件系统的整体架构设计,包括系统的...

    Java并发编程:设计原则与模式(第二版)

    Java并发编程:设计原则与模式(第二版).pdf

    Java并发编程的设计原则与模式

    本文将深入探讨Java并发编程的设计原则与模式,旨在帮助开发者理解并有效地应用这些原则和模式。 一、并发编程的基础概念 并发是指两个或多个操作在同一时间间隔内执行,而不是严格意义上的同一时刻。在Java中,...

Global site tag (gtag.js) - Google Analytics