`
oojdon
  • 浏览: 40760 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

对象设计原则

阅读更多
现在我们面对的是让人恶心的现实,被人总结起来有如下几条:

1,僵化性:很难对系统进行改动,因为每个改动都会牵一发动全身

2,脆弱性:同上,但是具体指改了一个地方,其他地方出问题了

3,牢固性:应该是顽固,我想重用某个比较好的模块,发现居然扯不下来

4,黏粘性:难以做正确的事情

5,不必要的复杂性:过分设计,错误投资,就像我们的政府一样,花4万亿养利益集团

6,不必要的重复:滥用鼠标,大量的剪切粘贴,这是因为开发人员忽视了抽象

7,晦涩性:混乱的表达,比如用中文拼音做类名,乱作一团,保持代码清晰和富有表现力应该是我们不断的追求。


有人曾经有形象的比喻,我们的软件开发就像女人怀孕,本来应该是要细心照料,生怕胎儿营养不够会出什么问题,可叹的是现在的客户和开发商总是前方百计来压缩开发成本和开发时间,没有经过母体十月孕育的孩子那就是早产儿,那是发育不健全的。或早或晚都会暴露出来身体的缺陷,也许有些缺陷是能够通过后天的哺育可以弥补的,但是对于很多缺陷可能就是无法弥补的。是根子上的问题,再补也无济于事,能弥补的,将花费巨大的代价。

程序员开发,设计和测试人员每一个都应该高薪,因为软件成本本质就是很高的,好的软件公司应该绝对的尊重技术人员。


要做好的软件必须遵守行业里的基本原则,这些都是老前辈头破血流换来的经验,而我们有几个知道或者珍惜?

1,单一职责原则

就一个类而言,应该仅有一个引起他变化的原因,通俗点就是绝对的不要多管闲事,做你最能够做的事情,高标准高质量完成,如果你只能够非常优秀操作PS,你就不要去对Java程序员指手画脚。

2,开放封闭原则

软件实体(类,模块,函数等等)应该是可以扩展的,但是不可修改。这似乎是个伪命题,要扩展居然不准修改,其中的奥妙就是抽象,你只要稳定的抽象了变化,你就可以做到。就像如来的五指山,你逃不过我的抽象。

3,里氏替换原则

子类型必须能够替换掉他们的基类型,在和父亲对象交互的时候,如果以后变成他的儿子,也是可以的,比如和富一代谈生意签合同,如果换做富二代也是可行的,可是现在富二代不行了,那就违背了这个原则。

4,依赖倒置原则

为什么要特别注重倒置?肯定是原来做错了,我们必须倒过来纠正,原来怎么做的? 上依赖下,抽象依赖实现,我们应该让下依赖于上,比如数据库依赖于领域模型,实现依赖于抽象,这样的软件才足够健壮和可扩展。

5,接口隔离原则

不应该强迫客户依赖于他们不用的方法,就是不要把胖的肥的香的辣的打包给你吃,而是要一刀一刀切开来喂你,这样就可以让很多人组合口味,而不是你说这团不好吃,就把别个觉得好吃的组合扔了。这个原则和单一职责原则比较相似,都是提高内聚性的原则。
分享到:
评论

相关推荐

    面向对象设计原则.ppt

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

    面向对象设计原则

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

    面向对象设计原则.pdf

    ### 面向对象设计原则详解 面向对象设计原则是一系列指导软件开发人员构建高质量、易于维护和扩展的软件系统的准则。这些原则旨在帮助开发者创建更健壮、更灵活的系统,减少代码间的耦合度,并提高代码的重用性和...

    面向对象设计原则解析

    面向对象设计原则是软件开发中的一种核心思想,它为创建可维护、可扩展且易于理解的代码提供了指导方针。在本文中,我们将深入探讨这些原则,帮助你更好地理解和应用它们。 1. **单一职责原则(Single ...

    面向对象设计原则和设计模式的概念

    面向对象设计原则与设计模式是软件工程领域的重要组成部分,它们为构建高质量、可维护和可扩展的软件系统提供了指导方针。下面将详细阐述面向对象设计原则及其如何促进软件的复用,以及设计模式的概念。 ### 面向...

    对面向对象设计原则的总结

    对面向对象设计原则的总结,设计模式:“开-闭”原则,里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪米特法则、接口隔离原则

    02 第2章 面向对象设计原则

    02 第2章 面向对象设计原则02 第2章 面向对象设计原则02 第2章 面向对象设计原则

    面向对象设计原则(Java).ppt

    面向对象设计原则,开闭原则,迪米特法则,里氏代换,接口隔离

    [JavaScript] JavaScript 面向对象设计原则 (英文版)

    [No Starch Press] JavaScript 面向对象设计原则 (英文版) [No Starch Press] The Principles of Object-Oriented JavaScript (E-Book) ☆ 图书概要:☆ If you've used a more traditional object-oriented ...

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

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

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

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

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

    ### C++设计模式课件2_面向对象设计原则 #### 面向对象设计原则概述 面向对象设计原则是软件工程领域中为了提高代码质量、增强软件系统的可维护性和可扩展性而制定的一系列指导原则。这些原则有助于开发人员更好地...

    javascript 面对对象设计原则 (英文)

    ### JavaScript面向对象设计原则 #### 一、引言 在《JavaScript面向对象设计原则》这本书中,作者Nicholas C. Zakas深入探讨了如何利用JavaScript这门语言来实现面向对象编程(OOP)的设计原则。本书的目标是帮助...

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

    面向对象设计原则与设计模式是软件工程中至关重要的概念,它们是构建可维护、可扩展、高复用性代码的基础。下面将详细阐述这些原则和模式,并结合PPT文件名称"设计原则.ppt"来推测可能包含的内容。 一、面向对象...

Global site tag (gtag.js) - Google Analytics