`
lingqi1818
  • 浏览: 252145 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

设计模式怎么解决设计问题

阅读更多
1.寻找合适的对象,如何将现实世界种的对象抽象出来,或者找出现实世界中不存在的对象,这步将直接导致后面设计的好坏。因为如果不能找到合适的对象,那么你的设计又将在哪里呢?
2.决定对象的粒度
尽量将粒度细化到最小,比如你认为4个轮子的是汽车,那如果出现了8个轮子的汽车那将怎么办呢?
3.将对象通用的操作定义为接口,比如麻雀和大雁可以定义出鸟类接口,而且都有飞的操作。
4.描述对象的实现
即你怎么去拿到你想要的对象,不管用什么手段和方法。
5.设计应支持变化
1) 通过显式地指定一个类来创建对象在创建对象
2) 对特殊操作的依赖
3) 对硬件和软件平台的依赖
4) 对对象表示或实现的依赖
5) 算法依赖
6) 紧耦合
7) 通过生成子类来扩充功能
8) 不能方便地对类进行修改
可复用面向对象编程原则:
1.针对接口编程,而不是针对实现编程
当你不得不去拿到具体的实现时,已经有一些设计模式帮你解决这个问题,比如abstract factory,builder等等
2.优先使用对象组合,而不是类继承
2、1当你使用子类的时候,必然会依赖于父类,当父类变更的时候,必然影响到子类
组合要求对象遵守彼
此的接口约定,进而要求更仔细地定义接口,而这些接口并不妨碍你将一个对象和其他对象
一起使用。
2.2对象组合对系统设计还有另一个作用,即优先使用对象组合有助于你保持每个类被封装,
并被集中在单个任务上。这样类和类继承层次会保持较小规模,并且不太可能增长为不可控
制的庞然大物。另一方面,基于对象组合的设计会有更多的对象(而有较少的类),且系统的行
为将依赖于对象间的关系而不是被定义在某个类中。
理想的情况下,我们可以利用组合获取所有想要的组件。
2.3委托是对象组合的特例。它告诉你对象组合作为一个代码复用机制可以替代继承。
分享到:
评论

相关推荐

    人人都懂设计模式 人人都懂设计模式

    设计模式是软件开发中的一种解决方案,它提供了一种通用的设计思想和方法论,可以帮助开发者更好地设计和实现软件系统。设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。 在本书中,作者罗伟富通过 ...

    24种设计模式以及混合设计模式

    设计模式是软件工程中的一种重要思想,它是在特定情境下,为解决常见问题而形成的一套最佳实践。在本文中,我们将深入探讨24种设计模式,并结合混合设计模式的概念,以及它们在实际项目中的应用案例。 首先,设计...

    Head First 设计模式 +Java设计模式(第2版)

    设计模式是解决软件设计中常见问题的经验总结,它们提供了一种标准的方法来处理特定场景下的问题,使得代码更易于理解、维护和扩展。这两本书对于Java开发者来说尤其宝贵,因为它们不仅介绍了设计模式的概念,还提供...

    设计模式解析.pdf

    设计模式是软件工程领域的重要概念,旨在提供解决常见软件设计问题的模板或指导原则。《设计模式解析》这一标题暗示了书籍将深度探讨各种设计模式,包括其原理、应用及背后的思维逻辑,帮助读者掌握并灵活运用这些...

    GOF设计模式中英文+设计模式精解中英文

    设计模式是软件工程中的一种重要概念,用于解决在软件开发过程中常见的设计问题,提升代码的可复用性、可维护性和可扩展性。GOF(Gang of Four)设计模式,由Erich Gamma、Richard Helm、Ralph Johnson和John ...

    设计模式之蝉

    在计算机科学领域,设计模式是软件工程中用于解决特定问题的一般性方案,它们是经过实践检验的最佳实践。这些模式被广泛应用于面向对象软件设计中,能够提高代码的可重用性、灵活性和可维护性。设计模式通常被划分为...

    设计模式(包含5个设计模式)含源代码报告.rar

    在软件开发领域,设计模式是经过时间和实践验证的解决方案,用于解决常见的编程问题。这个压缩包文件"设计模式(包含5个设计模式)含源代码报告.rar"显然是一份宝贵的资源,它涵盖了五个核心的设计模式,并附带了详细...

    C#设计模式_C#设计模式_

    对于那些具有丰富的开发经验的开发人员,学习设计模式有助于了解在软件开发过程中所面临的问题的最佳解决方案;对于那些经验不足的开发人员,学习设计模式有助于通过一种简单快捷的方式来学习软件设计。

    新版设计模式手册 - C#设计模式(第二版)

    设计模式是解决软件开发中常见问题的经验总结,是软件工程的最佳实践之一。本手册将详细阐述23种经典设计模式,并结合C#语言特性,给出具体实现和应用示例。 首先,我们来了解一下设计模式的基本概念。设计模式是...

    《Java设计模式》课程设计报告.docx

    系统分析部分,开发者可能先识别问题,然后选择合适的设计模式来解决问题。在系统设计阶段,类和接口的设计是核心,UML类图展示了对象之间的关系。界面设计包括了图形用户界面,使得用户能直观地进行操作,如浏览...

    软件设计模式(java版)习题答案.pdf

    设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括模式名称、问题、解决方案和效果。 设计模式的优点 正确使用设计模式具有以下优点: 1. ...

    java模式,设计模式,多种设计模式

    需要注意的是,J2EE设计模式解决了J2EE项目中最常见的问题。如果你遇到的问题非常特殊,很可能找不到相应的设计模式来解决。 ##### 4.2 软件开发设计模式 软件开发设计模式又可以进一步分为两类:通用面向对象设计...

    JavaScript设计模式与开发实践.pdf

    同时,设计模式也可以帮助程序员解决软件设计中的问题,提高软件的质量和可维护性。 在本书中,作者还分享了自己在设计模式方面的研究和实践经验,包括设计模式的原型、设计模式的分类、设计模式的应用等,并提供了...

    设计模式那点事

    设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决问题的可重用解决方案。《设计模式那点事》这本书的PPT为我们提供了一种深入理解和学习设计模式的途径。在这里,我们将深入探讨设计模式的核心概念、...

    《Java设计模式》刘伟 课后习题及模拟试题答案.rar

    模拟试题参考答案及评分标准则更注重对读者综合能力的检验,可能包含选择题、填空题、简答题和编程题等形式,旨在测试读者是否能灵活运用设计模式解决实际问题。这些问题可能涉及如何在不同场景下选择合适的设计模式...

    软件设计模式期末作业

    在软件开发领域,设计模式是经过时间和实践验证的解决方案模板,用于解决常见问题。本作业以“软件设计模式”为主题,特别关注了装饰模式、工厂模式和适配器模式的运用。这三种模式都是面向对象设计的核心部分,它们...

    设计模式精讲设计模式精讲

    设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决常见问题的最佳实践。在Java开发中,设计模式的应用极大地提高了代码的可维护性、可读性和可复用性。本文主要围绕设计模式的分类、作用以及在J2EE环境...

    深入浅出设计模式(中文版)

    设计模式是软件工程中的重要概念,它总结了在特定情境下解决常见问题的最佳实践,是经验丰富的开发者们智慧的结晶。这本书的中文版为中国的编程爱好者提供了一个便捷的学习平台,让读者能够更好地理解和应用这些模式...

    MongoDB应用设计模式

    资源名称:MongoDB应用设计模式内容简介:无论是在构建社交媒体网站,还是在开发一个仅在内部使用的企业应用程序,《MongoDB应用设计模式》展示了MongoDB需要解决的商业问题之间的连接。你将学到如何把MongoDB设计...

Global site tag (gtag.js) - Google Analytics