`

软件的设计原则 - 设计模式学习笔记

阅读更多
    当前软件开发的软件生命周期存在着非常严重得需求变化问题,从产品还没有开发完成就开始进入产品的修改阶段,一直都没有停止,我在我们公司经历了多个产品的周期,一个经常使用的系统都存在这个问题,其实看来呢,这成为软件的一个趋势,客户需求经常发生着变化,追究原因,存在二种问题,一个是对行业研究不透澈,无法摸透用户行为,另外一种就是客户需求变化频繁,客户不定性决定了他们需求的反复变化,变化已经成为软件的趋势,从软件设计开始就需要考虑到软件的变化,考虑软件的正确的变化方向。
   针对当前的现状,需要我们的软件系统存在可扩展性,灵活性,可插入的性质,开应对客户的需求变化。也就是提高软件的可维护性和软件的可复用性。
   由此我们需要仔细考虑我们的设计,可以遵照一定的设计模式:
  1、开闭原则OCP
  2、里氏替换原则LSP
  3、依赖倒置原则DIP
  4、接口隔离原则ISP
  5、组合/聚合复用原则CARP
  6、迪米特原则LOD

   通过遵照如下原则来提高程序的可扩展性和可复用性。
一、开闭原则,表示对于扩展开发,对于修改关闭,可以在不修改源代码的情况下修改这个模式的行为,需要做如下工作:抽象化是关键,对可变进行封装
二、LSP:一个软件采用基类的话,就可以替换成子类运行,而且察觉不到差别,java本身支持此原则。
三、DIP:要依赖于抽象,不要依赖于具体的实现
四、ISP:使用多个专门的接口比使用一个接口好
五、CARP:要尽量使用合成/聚合,尽量不要使用继承,继承存在如下特点:
   优点:容易扩展,修改容易
   缺点:继承破坏了封装
         超类发生变化,子类也要发生变化,和引起连锁反应
         从超类继承来的是静态的,影响灵活性
六、一个对象尽可能少的了解其他对象
设计的原则还有很多,只是列举几个主要原则,在以后的设计中需要注意,后面会针对设计模式进行分析。
 
分享到:
评论

相关推荐

    《设计模式学习笔记》

    《设计模式学习笔记》主要探讨了GOF的23种设计模式以及类设计的基本原则,旨在帮助开发者理解和应用这些经过时间验证的成熟解决方案。设计模式是面向对象软件设计中的核心概念,它们为解决常见的设计问题提供了标准...

    设计模式学习笔记大全

    以上就是压缩包中的设计模式学习笔记涉及到的主要内容。通过对这些模式的理解和应用,开发者可以更好地解决软件设计中的问题,提升软件的质量和可维护性。每种模式都有其适用场景,理解其背后的意图和应用场景是关键...

    《深入浅出设计模式》读书笔记--策略模式与三个设计原则

    《深入浅出设计模式》是一本深受欢迎的设计模式学习书籍,旨在帮助读者理解并熟练运用设计模式。在本文中,我们将重点关注策略模式以及它与三个核心设计原则的关系。策略模式是一种行为设计模式,它使你能在运行时...

    Java设计模式学习笔记

    ### Java设计模式学习笔记 #### 1. 设计模式的七大原则 ##### 1.1 设计模式的目的 设计模式是一种解决特定问题的通用解决方案,它可以帮助开发人员编写出更高质量、更容易维护和扩展的代码。设计模式的目标在于...

    学习笔记-深入浅出设计模式

    在《深入浅出设计模式》的学习笔记中,我们可以看到几种关键的设计模式及其应用,包括策略模式、观察者模式、装饰者模式、工厂模式和抽象工厂模式。 1. **策略模式**: - 策略模式的核心在于将算法族封装在独立的...

    《设计模式解析》第2版学习笔记

    ### 《设计模式解析》第2版学习笔记关键知识点总结 #### 第一部分 面向对象软件开发简介 ##### 第一章 面向对象范型 - **面向对象范型概览**: - 本章通过对比结构化程序设计来引入面向对象的概念。 - 强调了...

    韩顺平_Java设计模式笔记.docx

    通过以上内容,我们可以看到韩顺平老师的Java设计模式笔记涵盖了设计模式的基础概念、常见面试题解析、设计原则等内容,并通过具体案例来阐述设计模式的实际应用价值,旨在帮助学习者深刻理解并掌握设计模式,从而在...

    设计模式学习笔记(一)--简单工厂模式源码

    简单工厂模式是软件设计模式中的一种基础模式,它属于创建型模式,主要解决对象的创建问题,降低了系统与具体创建对象之间的耦合度。在这个学习笔记中,我们将深入理解简单工厂模式的概念、工作原理以及如何在实际...

    软件设计师-精选笔记.zip

    综上所述,这份精选笔记涵盖了软件设计师必备的广泛知识领域,旨在帮助学习者全面提高专业能力,成为一名出色的软件设计师。通过深入学习和实践,可以提升设计思维,提高解决问题的能力,为软件开发领域的职业生涯...

    软考&中级软件设计师-学习笔记(精简版)【考试速成版】

    3. 软件设计:理解软件设计模式,如工厂模式、单例模式等,能在实际问题中应用这些模式。 4. 功能设计:重点考核功能设计能力,要求考生能够根据业务需求,设计出满足功能的软件架构。 复习策略: 1. 系统学习:...

    设计模式学习笔记

    设计模式和设计原则共同构成了软件设计的基石,帮助开发者构建出可维护、可扩展、可复用的高质量软件。在实际开发过程中,灵活运用这些模式和原则,可以有效提升代码的结构和质量,减少未来可能出现的问题,使软件...

    软件设计师学习笔记.pdf

    《软件设计师学习笔记.pdf》是一份详尽的资料,涵盖了软件设计领域的诸多核心知识点,旨在帮助读者提升在软件设计方面的专业能力。这份笔记主要针对的是正在准备软件设计师考试或者希望深入理解软件设计原理与实践的...

    Java设计模式学习笔记.pdf

    设计原则是学习设计模式的重要基础。它们包括: 1. 单一职责原则:要求一个类只负责一项职责,即一个类只应有一个变化的原因。 2. 开闭原则:软件实体应对扩展开放,对修改关闭,意味着在不修改原有代码的基础上,...

    《设计模式:可复用面向对象软件的基础》学习并理解 23 种设计模式

    学习设计模式对于软件开发人员来说至关重要,主要基于以下几点理由: - **经验借鉴**:设计模式是基于众多专家的经验和智慧,提供了经过实践检验的解决方案。 - **提高可维护性和可复用性**:通过遵循已知的最佳...

    软件设计师-复习笔记、重点突破、案例分析(中级)

    重点突破部分是对考试中可能出现的难点和易错点的集中解析,例如软件设计模式的理解与应用、面向对象设计原则、系统设计与优化策略等。这部分内容有助于考生在短时间内掌握关键知识点,提高答题的准确性。 三、案例...

    GoF 23种设计模式学习笔记

    "GoF 23种设计模式学习笔记" 是一个深入探讨这23个经典设计模式的资源,这些模式最初由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位作者在1994年的著作《设计模式:可复用面向对象软件的基础》中...

    软件设计师—学习笔记.pdf

    《软件设计师—学习笔记》是一份详尽的资料,旨在帮助备考中级职称考试中的软件设计师这一资格认证。这份笔记特别注重基础知识的讲解,适合有一定经验的IT从业者或在校学生使用。北工程技术学院作为资料的来源,确保...

    Java设计模式学习.pdf

    文档中描述的是Java设计模式学习笔记,目前涉及了7种设计模式,但没有具体指明这7种模式是什么,计划后续增加更多的模式。虽然文件内容中存在OCR扫描的识别错误,但不影响我们从整体上把握设计模式的脉络和学习方法...

    Head.First 设计模式学习笔记.pdf

    ### Head.First 设计模式学习笔记知识点总结 #### 一、设计模式概述 设计模式是一种用于解决软件设计中常见问题的标准化方法。通过采用设计模式,开发者可以提高代码的复用性、灵活性和可维护性。《Head First 设计...

    图解设计模式 ,结城浩著 学习笔记

    根据给定的信息“图解设计模式,结城浩著学习笔记”,我们可以推断出这份文档主要涉及了设计模式的学习和理解。《图解设计模式》是一本由日本著名程序员结城浩撰写的书籍,该书以图形化的方式深入浅出地讲解了软件...

Global site tag (gtag.js) - Google Analytics