`
argel_lj
  • 浏览: 362937 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

面向对象软件设计原则

阅读更多

    最近,公司老总推荐一篇文章,关于软件设计原则的,感觉不错,记录以下供以后查阅。

 

这些设计原则,不仅仅是指软件开发...

    Don’t Repeat Yourself (DRY)

    Keep It Simple, Stupid (KISS)

    Program to an interface, not an implementation 

    Command-Query Separation (CQS)  – 命令-查询分离原则 

    You Ain’t Gonna Need It (YAGNI)    <you are not going to need it>

    Law of Demeter <Principle of Least Knowledge>

            

        对于对象 ‘O’ 中一个方法’M',M应该只能够访问以下对象中的方法:

        对象O;
         1 与O直接相关的Component Object;
         2 由方法M创建或者实例化的对象;
         3 作为方法M的参数的对象。

    在《Clean Code》一书中,有一段Apache framework中的一段违反了LoD的代码:

final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath(); 

 

     面向对象的S.O.L.I.D 原则
       Single Responsibility Principle (SRP) – 职责单一原则
       Open/Closed Principle (OCP) – 开闭原则
       Liskov substitution principle (LSP) – 里氏代换原则
       Interface Segregation Principle (ISP) – 接口隔离原则
       Dependency Inversion Principle (DIP) – 依赖倒置原则

 

    Common Closure Principle(CCP)– 共同封闭原则

    Common Reuse Principle (CRP) – 共同重用原则

    Hollywood Principle – 好莱坞原则

    High Cohesion & Low/Loose coupling & – 高内聚, 低耦合

    Convention over Configuration(CoC)– 惯例优于配置原则

    Separation of Concerns (SoC) – 关注点分离

    Design by Contract (DbC) – 契约式设计

    Acyclic Dependencies Principle (ADP) – 无环依赖原则


分享到:
评论

相关推荐

    软件设计原则-面向对象设计七大原则.zip

    软件设计原则-面向对象设计七大原则.zip 面向对象和C语言完全不是一种思考问题的方式,面向对象是种哲学思想,只有明白了其核心思想,才能以不变应万变 只有吃透面向对象的七大设计原则,比如:依赖倒置原则,迪米特法则等...

    C++设计模式课件2_面向对象设计原则.pdf

    面向对象设计原则是软件工程领域中为了提高代码质量、增强软件系统的可维护性和可扩展性而制定的一系列指导原则。这些原则有助于开发人员更好地理解和应用面向对象编程的核心理念,从而构建出更加灵活、健壮的软件...

    面向对象程序设计原则与模式

    面向对象程序设计原则是软件设计中的一种重要方法,它强调通过封装、继承和多态来实现软件的可维护性、可扩展性和可重用性。设计模式是指在软件设计中常见的、可以重复使用的解决方案,它们提供了一种通用的方法来...

    面向对象软件架构设计

    第二单元:技术架构视图─面向对象程序设计原则与模式 59 用GRASP模式指导设计 62 领域模型 96 面向对象设计的基本原则 132 第三单元:用UML辅助系统分析与设计 177 UML简介及常见疑难问题辨析 178 借鉴RUP的UML建模...

    面向对象设计原则.ppt

    面向对象设计原则是软件开发中至关重要的一环,它关乎到代码的可维护性、扩展性和复用性。本文将深入探讨这些原则,并结合实例来解释它们的重要性。 首先,我们需要理解面向对象不仅仅是编程语言中的概念,如封装、...

    UML简介与面向对象的设计原则

    面向对象设计原则与UML简介 UML,全称为统一建模语言,是软件开发领域中一种广泛应用的标准化建模工具。由Object Management Group(OMG)于1997年发布,它提供了可视化的表示方式,用于描述、指定、构建和记录软件...

    面向对象的设计原则.pdf

    面向对象设计原则是软件工程中用于创建灵活、可维护和可扩展系统的一组指导思想。这些原则为开发者提供了一个更加清晰的面向对象编程实践框架。本文将详细介绍以下四个主要的面向对象设计原则: 1. 开放封闭原则...

    实用面向对象软件工程教程

    面向对象软件工程是一种现代的软件开发方法,它基于对象的概念,强调模块化、可重用性和灵活性。本教程“实用面向对象软件工程教程”旨在深入探讨面向对象分析(OOA)和面向对象设计(OOD)的关键原则,帮助开发者...

    循序渐进学面向对象系统设计PDF,本书是一本介绍面向对象软件系统设计的书,还讲述了UML等概念。

    此外,面向对象系统设计还需要考虑系统的架构和设计原则。比如,SOLID原则(单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则和依赖倒置原则)指导我们编写高质量的代码,使系统更易于扩展和维护。同时,...

    面向对象分析设计原则

    面向对象分析设计原则是软件开发中的核心指导思想,旨在提升代码的可维护性、可扩展性和可重用性。以下是这些原则的详细解释: 1. **单一职责原则(SRP)**:一个类或模块应只有一个明确的责任。这意味着类的设计应...

    程序员必备的七大面向对象设计原则

    面向对象设计原则是软件设计中最重要的原则之一,它们是软件设计的基础和核心。面向对象设计原则的应用可以提高软件的开发效率、质量和可维护性。下面是七大面向对象设计原则的总结: 一、开闭原则 开闭原则是面向...

    面向对象设计原则英文文章

    面向对象设计原则是软件开发中的核心概念,尤其在Java、C++等面向对象编程语言中至关重要。这些原则为创建可维护、可扩展和可重用的代码提供了指导框架。这篇文章将深入探讨面向对象设计原则,并结合设计模式进行...

    面向对象设计原则

    面向对象设计原则是Java开发中不可或缺的基础,它们指导着开发者创建可维护、可扩展和可复用的软件系统。本文将深入探讨其中的两个核心原则:“开-闭”原则(Open-Closed Principle, OCP)和里氏代换原则(Liskov ...

    面向对象七大原则

    开闭原则是面向对象设计中最重要的原则之一,它要求一个软件实体应当对扩展开放,对修改关闭。这意味着在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,即实现在不修改源代码的情况下改变这个...

    面向对象设计模式设计原则

    通过以上三个面向对象的设计原则,我们可以构建出更加健壮、灵活且易于维护的软件系统。这些原则不仅适用于特定的语言环境,而且对于所有的面向对象编程语言都有普遍的意义。理解和掌握这些原则,对于提升软件开发的...

    面向对象的设计原则详解

    面向对象设计原则是软件开发中的核心指导思想,它们旨在提高代码的可维护性、可扩展性和可重用性。在面向对象设计(OOD)中,遵循这些原则可以帮助我们构建更加稳定、灵活的系统。以下是对这些原则的详细解释: 1. ...

    结构化程序设计方法与面向对象程序设计方法之比较.

    结构化程序设计方法与面向对象程序设计方法是两种在软件工程领域内被广泛采用的编程范式,它们各自拥有独特的设计理念、实现方式以及适用场景。接下来,我们将深入探讨这两种方法的基本思想、概念术语、编程语言、...

    设计模式:可复用面向对象软件的基础.zip

    通过学习和掌握这些设计模式,开发者可以更好地理解和应用面向对象的设计原则,如单一职责原则、开闭原则、里氏替换原则、依赖倒置原则和接口隔离原则。这些原则和模式的结合,可以帮助我们构建出更加模块化、可扩展...

    设计模式可复用面向对象软件的基础(C++)——强烈推荐

    通过阅读《设计模式可复用面向对象软件的基础(C++)》,开发者可以进一步提升软件设计能力,编写出更优雅、可扩展和易于维护的代码。 总结来说,这本书是面向C++程序员的一份宝贵资源,它深入探讨了设计模式的理论...

Global site tag (gtag.js) - Google Analytics