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委托是对象组合的特例。它告诉你对象组合作为一个代码复用机制可以替代继承。
分享到:
相关推荐
设计模式是软件开发中的一种解决方案,它提供了一种通用的设计思想和方法论,可以帮助开发者更好地设计和实现软件系统。设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。 在本书中,作者罗伟富通过 ...
设计模式是解决软件设计中常见问题的经验总结,它们提供了一种标准的方法来处理特定场景下的问题,使得代码更易于理解、维护和扩展。这两本书对于Java开发者来说尤其宝贵,因为它们不仅介绍了设计模式的概念,还提供...
设计模式是软件工程中的一种重要思想,它是在特定情境下,为解决常见问题而形成的一套最佳实践。在本文中,我们将深入探讨24种设计模式,并结合混合设计模式的概念,以及它们在实际项目中的应用案例。 首先,设计...
设计模式是软件工程领域的重要概念,旨在提供解决常见软件设计问题的模板或指导原则。《设计模式解析》这一标题暗示了书籍将深度探讨各种设计模式,包括其原理、应用及背后的思维逻辑,帮助读者掌握并灵活运用这些...
设计模式是软件工程中的一种重要概念,用于解决在软件开发过程中常见的设计问题,提升代码的可复用性、可维护性和可扩展性。GOF(Gang of Four)设计模式,由Erich Gamma、Richard Helm、Ralph Johnson和John ...
在计算机科学领域,设计模式是软件工程中用于解决特定问题的一般性方案,它们是经过实践检验的最佳实践。这些模式被广泛应用于面向对象软件设计中,能够提高代码的可重用性、灵活性和可维护性。设计模式通常被划分为...
在软件开发领域,设计模式是经过时间和实践验证的解决方案,用于解决常见的编程问题。这个压缩包文件"设计模式(包含5个设计模式)含源代码报告.rar"显然是一份宝贵的资源,它涵盖了五个核心的设计模式,并附带了详细...
设计模式是解决软件开发中常见问题的经验总结,是软件工程的最佳实践之一。本手册将详细阐述23种经典设计模式,并结合C#语言特性,给出具体实现和应用示例。 首先,我们来了解一下设计模式的基本概念。设计模式是...
设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括模式名称、问题、解决方案和效果。 设计模式的优点 正确使用设计模式具有以下优点: 1. ...
需要注意的是,J2EE设计模式解决了J2EE项目中最常见的问题。如果你遇到的问题非常特殊,很可能找不到相应的设计模式来解决。 ##### 4.2 软件开发设计模式 软件开发设计模式又可以进一步分为两类:通用面向对象设计...
同时,设计模式也可以帮助程序员解决软件设计中的问题,提高软件的质量和可维护性。 在本书中,作者还分享了自己在设计模式方面的研究和实践经验,包括设计模式的原型、设计模式的分类、设计模式的应用等,并提供了...
系统分析部分,开发者可能先识别问题,然后选择合适的设计模式来解决问题。在系统设计阶段,类和接口的设计是核心,UML类图展示了对象之间的关系。界面设计包括了图形用户界面,使得用户能直观地进行操作,如浏览...
设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决问题的可重用解决方案。《设计模式那点事》这本书的PPT为我们提供了一种深入理解和学习设计模式的途径。在这里,我们将深入探讨设计模式的核心概念、...
数据共享微服务设计模式是一种解决微服务架构中数据共享问题的设计模式。在这种模式下,部分微服务可能会共享缓存和数据库存储。不过,这只有在两个服务之间存在强耦合关系时才可以。对于基于微服务的新建应用程序而...
- **什么是设计模式**:设计模式是在软件设计过程中遇到的常见问题的一种解决方案。它提供了一种标准化的方法来解决问题,使得开发者能够更加高效地编写可维护、可扩展的代码。 - **为什么以及如何学习设计模式**:...
设计模式是软件工程中的重要概念,它总结了在特定情境下解决常见问题的最佳实践,是经验丰富的开发者们智慧的结晶。这本书的中文版为中国的编程爱好者提供了一个便捷的学习平台,让读者能够更好地理解和应用这些模式...
模拟试题参考答案及评分标准则更注重对读者综合能力的检验,可能包含选择题、填空题、简答题和编程题等形式,旨在测试读者是否能灵活运用设计模式解决实际问题。这些问题可能涉及如何在不同场景下选择合适的设计模式...
在软件开发领域,设计模式是经过时间和实践验证的解决方案模板,用于解决常见问题。本作业以“软件设计模式”为主题,特别关注了装饰模式、工厂模式和适配器模式的运用。这三种模式都是面向对象设计的核心部分,它们...