三、类模型-应用设计原则和设计模式

精雕细琢,设计良好的类与类关系

【设计原则】

无论项目开发流程用哪种模式,瀑布、迭代、螺旋、敏捷等。只要是面向对象设计,都应该应用设计原则以提高设计质量

设计SOLID原则:

1.设计原则有什么用?

设计原则就像一把尺子,是衡量类设计的尺子。通过分析来判断设计的类是否符合设计原则的这5个标准,进而调整类的设计,达到设计良好的目的。

2.为什么要用设计原则来衡量类设计的好坏?

因为设计原则是为了保证类的可扩展性的,这也是面向对象设计的核心目的。

POS机的例子:

我们经过分析后,发现交易类直接依赖了“会员卡”、“购物卡”、“信用卡”、“现金”这四个子类,这样不符合DIP原则,如果要增加新的交易方式,那么“交易”类也要跟着修改。所以,我们增加了一个“支付”类作为这四个子类的父类,“交易”类依赖于支付类(多态的形式)。

【设计模式】

设计模式归根到底也是为了保证类的可扩展性的。

设计模式和设计原则相互之间是互补的关系。

设计原则用于指导“类的定义”的设计,设计模式用于指导“类的动作”的设计。也就是说,设计原则是类的静态设计原则,设计模式是类的动态设计原则。

一般采用“先设计原则,后设计模式”的方式来操作。

还是POS机的例子:

通过分析我们发现“信用卡”这个类存在优化空间。“信用卡”有多个品牌,每个品牌的接入方式、协议、认证等都是不同的。为了封装这种差异,我们应用设计模式的Bridge模式,提取出“信用卡处理”类,这个类主要的职责是处理“连接”、“认证”、“扣款”这些职责。所有品牌的信用卡都继承"信用卡处理"类。

原文地址:https://www.cnblogs.com/mysic/p/8452363.html

时间: 2024-07-31 18:00:05

三、类模型-应用设计原则和设计模式的相关文章

连载:面向对象葵花宝典:思想、技巧与实践(39) - 设计原则 vs 设计模式

又是设计原则,又是设计模式,到底该用哪个呢? ============================================================================= 在"设计模型"一章中,我们提到设计原则和设计模式是互补的,设计原则和设计模式互补体现在:设计原则主要用于指导"类的定义"的设计,而设计模式主要用于指导"类的行为"的设计. 举一个很简单的例子:假设我们要设计一个图形类Shape,这个类既支持三角形,

从设计原则到设计模式

说明:这些资料仅仅是对设计模式的一些总结,没有设计模式的相关知识,很难看懂.即使看懂了这些,也仅说明理解了模式的基本思想.想要学好设计模式,还是建议好好看文后所列的参考书籍和推荐书籍. 这些总结有不少是根据自己的理解写成的,或许并不正确.如果您有不同的看法,请告知作者,谢谢! 欢迎传阅,但是请勿随意修改或Copy. 设计模式简介 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心. -- Christopher Alexander 设计模式描述了软件设计过程中某一类常见

浅谈设计原则和设计模式

文章结构: 1.前言 2.设计原则       3.设计模式 3.1 创建型模式 3.2 结构型模式 3.3 行为型模式 前言 设计原则和设计模式旨在帮助我们设计出一个可复用.可扩展.可维护的应用. 设计原则:设计OR重构系统的指导方针. 设计模式:解决某类问题性质有效的方法. 设计原则和设计模式要实现的目标是:在需求变动或者系统升级时,尽可能少的改变代码,尽可能多的实现新的功能. 设计原则是设计模式的"背后的故事",要深入理解设计模式必先深入理解设计原则. 设计原则 1.开闭原则(O

*javascript开发的设计原则和设计模式

 设计原则(7种):   之所以有这么多的原则来指导我们进行程序的设计和开发,是因为我们的程序存在未知的改变.为了以最低的代价拥抱这种未知的变化,前辈们给我们总结了这么多原则. ①YAGNI原则you aren't gonna need it 不要写不需要的代码 ②KISS原则keep it simple and stupid代码保持简介和具有表现力语义话的标记.注释.变量或者方法的命名.减少嵌套 ③DRY原则Don't Repeat Yourself模块的封装提高代码的复用率 降低测试难度 方

设计模式——设计模式与设计原则

设计模式--设计模式与设计原则 一.设计模式  1.设计模式简介 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石. 模式的经典定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的解决方案,无需再

设计模式与设计原则简介(一)

什么是设计模式? 我们知道对于很多数学问题,经常会有多种不同的解法 而且这其中可能会有一种比较通用简便高效的方法 我们在遇到类似的问题或者同一性质的问题时,也往往采用这一种通用的解法 将话题转移到程序设计中来 对于软件开发人员, 在软件开发过程中, 面临的一般问题的解决方案就是设计模式(准确的说是OOP中) 当然,如同数学的解题思路一样,设计模式并不是公式一样的存在 设计模式(Design pattern)代表了最佳的实践 是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的宝贵经验 是

设计模式与设计原则

0.0 什么是设计模式与设计原则: 设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结. 使用设计模式是为了重用代码.让代码更容易被他人理解.保证代码可靠性.设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样. 0.1 什么是设计原则: 设计原则是设计模式的基础,所有设计模式都必须遵循设计原则. 设计原则共有七条:单一职责原则.开放-封闭原则.里氏替换原则.依赖倒转原则.接口隔离原则.组合重用原则.迪米特原则. 1. 单一职责原则(Sing

C#设计模式(1)——设计原则

设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.在进行设计的时候,我们需要遵循以下几个原则:单一职责原则.开闭原则.里氏替代原则.依赖倒置原则.接口隔离原则.合成复用原则和迪米特法则. 1.单一职责原则 专业的人做专业的事,面向对象编程中类也是一样,一个类只负责一些特定的职责,如User类只负责用户相关的业务功能,Order类只负责订单相关的功能,想象下如果我们把用户和订单的功能放在一个类,然后去设计用户的权限中会怎么样呢?订单业务和权限耦合了..单一

C#设计模式(0)——设计原则

出处:https://www.cnblogs.com/wyy1234/ 阅读目录 设计原则 1.单一职责原则 2.接口隔离原则 3.开闭原则 4.里氏替代原则 5.合成复用原则 6.依赖倒置 7.迪米特法则(最小知道原则) 回到顶部 设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.在进行设计的时候,我们需要遵循以下几个原则:单一职责原则.开闭原则.里氏替代原则.依赖倒置原则.接口隔离原则.合成复用原则和迪米特法则. 1.单一职责原则 专业的人做专业的事