- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
面向对象的分析与设计-设计篇
面向对象设计的基本原则
抽象
封装
继承
多态性
类的设计
1
封装
隐藏内部实现细节
2
抽象
关注核心概念和行为
3
继承
复用现有代码
4
多态
实现灵活的代码
识别类的责任和接口
责任
类的责任是指它负责做什么,或者说它能为其他对象提供哪些服务。每个类都应该有一个明确的责任,并且应该专注于完成这项责任。
接口
类的接口定义了它如何与其他对象交互,即其他对象如何使用它的服务。接口应该清晰、简单,并且应该只包含与该类责任相关的操作。
谁是这个类的客户?
确定类的客户可以帮助我们更好地理解类的责任。类的客户是那些使用该类的其他类或模块。
例如,一个表示订单的类,它的客户可能是购物车类,支付类,订单历史记录类等。
通过识别类的客户,我们可以更好地设计类的接口,确保客户能够方便地使用该类。
类的继承
代码复用
继承允许子类继承父类的属性和方法,避免重复代码编写。
多态性
子类可以重写父类的方法,实现不同类型的对象具有相同行为的特性。
代码可扩展性
通过继承,可以更容易地扩展现有代码,添加新的功能或修改现有行为。
类的组合
代码复用
组合允许您将现有类的功能集成到新类中,从而避免重复代码。
灵活性和可扩展性
通过组合,您可以轻松地添加或删除功能,而无需修改现有代码。
清晰的职责划分
组合有助于将代码分解成更小的、易于管理的模块,从而提高代码的可维护性。
封装和抽象
隐藏实现细节
封装意味着将数据和方法隐藏在类的内部,只暴露必要的接口给外部使用,从而保护数据安全,提高代码可维护性。
专注于核心功能
抽象则强调隐藏具体实现,只提供抽象的概念和接口,让使用者无需关注底层细节,简化操作。
多态性
概念
多态性是指一个接口或方法可以有多种不同的实现形式,使程序能够在运行时根据实际类型选择不同的行为。
优势
提高代码的灵活性和可扩展性,使程序更容易维护和修改。
示例
不同类型的动物都可以发出声音,但具体的声音形式取决于动物的类型。
设计模式概述
设计模式是解决软件设计中常见问题的可重用解决方案。它们提供经过验证的最佳实践,帮助我们创建可维护、可扩展和灵活的代码。
设计模式的六大原则
开放封闭原则
对扩展开放,对修改关闭。
依赖倒置原则
面向接口编程,依赖抽象,不依赖具体。
单一职责原则
一个类只负责一个功能。
接口隔离原则
客户端不应该依赖它不需要的接口。
简单工厂模式
简单工厂模式提供了一种创建对象的机制,它将对象的创建过程封装在一个单独的工厂类中。工厂类负责根据不同的参数创建不同的对象,从而将对象的创建过程与使用对象的代码分离。
简单工厂模式的优点是易于使用,但缺点是扩展性较差,当需要添加新的产品类型时,需要修改工厂类,这违反了开闭原则。
工厂方法模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
抽象工厂模式
抽象工厂模式提供了一种创建一系列相关或相互依赖对象的接口,而无需指定具体的类。
它定义了一个创建相关或相互依赖对象的接口。它可以提供多个不同的实现来创建不同类型的产品系列。
单例模式
单例模式确保一个类只有一个实例,并提供一个全局访问点。它通过控制实例化过程来保证唯一性,并提供一个静态方法来获取实例。
单例模式在以下场景中非常有用:
管理共享资源
控制实例数量
提供全局访问点
建造者模式
步骤分离
将复杂对象的构建过程分解成独立的步骤,每个步骤对应一个方法。
灵活构建
通过不同的建造者实现不同的构建方式,从而创建不同的复杂对象。
隐藏构建细节
客户无需关注对象的具体构建过程,只需要调用建造者方法即可获得最终对象。
原型模式
克隆
通过创建对象的副本,实现创建新对象的效率。不需要重新创建新对象。
灵活性
原型模式可以轻松地创建具有不同属性和状态的对象,以满足各种需求。
适配器模式
适配器模式,将一个类的接口转换成客户希望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。
例如,一个需要使用旧版API的类,可以创建一个适配器,将旧版API的接口转换为新版API的接口,从而让该类可以继续使用。
装饰模式
装饰模式(DecoratorPattern)是一种结构型设计模式,允许在不修改原有对象的情况下,动态地为对象添加新的功能。它通过创建一个装饰器对象,将原始对象包裹起来,并在装饰器对象中实现新的功能。装饰器对象可以层层包裹,从而为原始对象添加多个功能。
装饰模式的特点是:它通过组合的方式扩展对象的功能,而不是继承。它允许在运行时动态地添加功能,而不需要修改原始对象。它遵循开放-封闭原则,允许在不修改原有代码的情况下添加新功能。
代理模式
代理模式为对象提供一个替身或占位符,以控制对这个对象的访问。
代理模式可以将客
文档评论(0)