`
dahai639
  • 浏览: 15163 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

软件开发中的几个原则

 
阅读更多

1.单一职责(SRP)

     一个类或者一个方法,只有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。

2. 开闭原则(OCP)

  开闭原则指的是一个软件实体应对对扩展开发,对修改关闭。

3. 依赖倒置原则(DIP,IOC)

依赖倒置(Dependence Inversion Principle)原则讲的是:要依赖于抽象,不要依赖于具体。

抽象不应当依赖于细节;细节应当依赖于抽象;
要针对接口编程,不针对实现编程。

4. 组合/聚合复用原则

   在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分:新的对象通过向这些对象的委派达到复用已有功能的目的。

5. 里氏替换原则(LSP)

  所有引用基类的地方必须能透明地使用其子类的对象。

即:

  所以使用基类代码的地方,用派生类代码替换后,能够正确的执行动作处理。

换句话说,如果派生类替换了基类后,不能够正确执行动作,那么他们的继承关系就应该废除。

6.迪米特法则(Law of Demeter)

  如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中的一个类需要调用另外一个类的某一个方法,可以通过第三者转发这个调用。

将迪米特法则运用到系统的设计中时,应注意的几点:

① 在类的划分上,应该创建有弱耦合的类;
② 在类的结构设计上,每一个类都应当尽量降低成员的访问权限;
③ 在类的设计上,只要有可能,一个类应当设计成不变类;
④ 在对其他类的引用上,一个对象对其它对象的引用应当降到最低;
⑤ 尽量降低类的访问权限;
⑥ 谨慎使用序列化功能;
⑦ 不要暴露类成员,而应该提供相应的访问器(属性)。 

分享到:
评论

相关推荐

    软件开发的201个原则

    原则,是在编程技巧、编程语言、设计模式、工具之下的最底层的东西,它是人们在几十年的软件开发过程中不断经历、提炼出来的重要经验,体系了软件设计、开发过程中的设计哲学。 随着技术和时代的发展,这些原则可能...

    敏捷软件开发 原则模式与实践

    书中的核心内容包括以下几个方面: 1. **敏捷原则**:书中详细介绍了敏捷宣言及其背后的12条原则。敏捷宣言主张个体和互动胜过流程和工具,可工作的软件胜过详尽的文档,客户协作胜过合同谈判,以及响应变化胜过...

    软件开发的201个原则(推荐)

    原则,是在编程技巧、编程语言、设计模式、工具之下的最底层的东西,它是人们在几十年的软件开发过程中不断经历、提炼出来的重要经验,体系了软件设计、开发过程中的设计哲学。随着技术和时代的发展,这些原则可能...

    软件开发实施方案.pdf

    软件开发实施方案系统开发严格按照软件工程的方法进行组织,系统的开发过程按照需求分析、系统分析与设计要求、系统编码、系统测试几个过程有序推进。开发流程图中,采用原型及迭代方式开发,根据用户需求持续改进,...

    国家软件开发标准

    在国家软件开发规范中,我们可能会看到以下几个核心内容: 1. **需求管理**:规范需求获取、分析、定义、验证和变更控制的过程,确保软件开发始终符合用户的需求。 2. **设计原则**:强调模块化、可读性、可维护性...

    精品软件工具--以一个完整的项目范例说明软件开发的思想、原则、实践和工具集.zip

    在“精品软件工具--以一个完整的项目范例说明软件开发的思想、原则、实践和工具集.zip”这个压缩包中,我们可以预见到它包含了丰富的软件开发资源,旨在通过一个实际的项目案例来阐述软件开发的核心概念、指导原则...

    信息化项目软件开发费用测算规范-最新版

    根据标准,软件开发费用主要由以下几个部分构成: 1. **直接人力成本**:指直接参与项目开发的人员成本,包括但不限于项目经理、开发人员、测试人员等的人力成本。 2. **直接非人力成本**:包括购买或租赁软件、...

    软件开发各种小图标大全

    在"软件开发"中,图标设计有以下几个关键点: 1. **一致性**:所有图标应当遵循一致的设计风格,包括颜色、线条粗细、阴影效果等,以保持整体视觉的一致性。 2. **可识别性**:即使图标很小,也应确保用户能够迅速...

    敏捷软件开发.pdf

    敏捷开发的流行也反映在了多种行业标准和奖项中,例如ISO9000标准的更新就增加了敏捷原则,美国军方的软件开发标准推荐迭代开发模式,以及美国波多里奇国家质量奖将敏捷作为核心原则之一。 在敏捷开发中,团队通常...

    Head First软件开发 中文版

    在软件开发的学习和实践中,这本书通常会涵盖以下几个方面的知识点: 1. **软件开发基础**:包括软件开发的基本概念、软件生命周期、软件开发生命周期模型等。这些基础概念是软件开发人员必备的知识,能够帮助读者...

    软件开发规范及开发计划书

    实施软件开发规范和开发计划书的过程中,有几个关键点需要注意: 1. 沟通和共识:所有团队成员都应理解并接受规范和计划,这需要充分的讨论和沟通。 2. 灵活性:虽然规范和计划提供了结构,但也要适应项目的变化,...

    软件开发文档编写标准规范

    《软件开发文档编写标准规范》是一份至关重要的参考资料,它为软件开发团队提供了一套详细的指导原则和格式,确保在项目开发过程中产生的各种文档能够清晰、一致且有效地传达信息。文档是软件工程的重要组成部分,它...

    计算机软件开发规范_GB_8566-88

    GB_8566-88中提到了几种常见的软件开发模型,每种模型都有其特点和适用场景。 1. **瀑布模型**: - **特点**:线性、顺序式的开发流程,每一阶段必须完成才能进入下一个阶段。 - **适用类型**:适用于需求清晰且...

    新能源汽车软件开发设计规范

    该体系结构的核心理念是通过分层设计来实现软硬件的解耦合,具体分为以下几个层次: 1. **应用层(Application Layer)** - 位于RTE之上,包含与汽车功能相关的应用程序。 - OEM(原始设备制造商)可以在此层开发...

    96篇软件开发论文 --中英对照

    首先,对于软件开发的生命周期而言,需求分析、设计、编码、测试和维护是不可或缺的几个阶段。在需求分析阶段,开发者需要与客户进行深入沟通,确保准确把握用户的需求;设计阶段则需要结合需求分析的结果,形成软件...

    敏捷软件开发 原则.模式与实践

    在敏捷软件开发中,有以下几个核心原则: 1. **个体和互动高于流程和工具**:强调人的因素,鼓励面对面的沟通,认为高效的合作比严格的流程更重要。 2. **可工作的软件高于详尽的文档**:虽然文档重要,但更重视...

    软件开发管理制度

    根据所提供的文件内容,可以提炼出以下几个核心知识点: 1. 软件开发项目的组织架构:文档中提到的软件研发项目组织架构强调了项目管理办公室(PMO)的作用,以及项目组的构成。项目组通常包括业务组和开发组,前者...

Global site tag (gtag.js) - Google Analytics