如何实践设计原则

大家都知道遵循设计原则是开发高质量软件的重要基础,但实际运用时并不容易。Booch在<<面向对象分析与设计>>中提出了四个基础原则:

  • 抽象   核心思想是不变性的概念。去除不关心的属性,而强化重要的属性,帮助人们思考要做什么。
  • 封装  核心是分离关注和信息隐藏,让程序借助最少的工作进行可靠的修改。
  • 模块化  核心思想是分而治之,各个模块应当高内聚、低耦合。
  • 层次结构  核心是对抽象的分级和排序,可以简化对系统的理解。

这些概念看起都比较容易理解,但实际运用并不简单。所以<<Refactoring for Software Design Smells: Managing Technical Debt>>(哪位手上有这个资源,可以分享一下。)的作者们使用所谓的使能技术(enabling techniques),为每个原则提出实践的建议: 

详细内容,请查看原文: How to apply design principles in practices.

时间: 2024-11-08 18:56:19

如何实践设计原则的相关文章

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

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

Android界面与交互设计原则:以用户为中心

译者按: 在iOS HIG已经强大经典了N年之后,Android终于推出了一套比较系统的HIG(大概是为了配合Android 4.0 Ice Cream Sandwich).仔细比较两套HIG的"设计原则"部分,发现完全是截然不同的两种风格.iOS HIG走的是更专业型的路线,描述严谨且有不少的专业词汇(比如Metaphors.Consistency之类的).而Android则显得亲民许多,不仅描述方式简要易懂,配图鲜明直观,甚至还用了"me"作为了一系列要点的标题

微服务的4大设计原则和19个解决方案

作者|郝炎峰 编辑|小智 本文将介绍微服务架构的演进.优缺点和微服务应用的设计原则,然后着重介绍作为一个"微服务应用平台"需要提供哪些能力.解决哪些问题才能更好的支撑企业应用架构. 注:本文转载自公众号 EAWorld,已获授权. 写在前面 微服务架构现在是谈到企业应用架构时必聊的话题,微服务之所以火热也是因为相对之前的应用开发方式有很多优点,如更灵活.更能适应现在需求快速变更的大环境. 微服务平台也是我目前正在参与的,还在研发过程中的平台产品,平台是以 SpringCloud 为基础

微服务的4个设计原则和19个解决方案

微服务架构现在是谈到企业应用架构时必聊的话题,微服务之所以火热也是因为相对之前的应用开发方式有很多优点,如更灵活.更能适应现在需求快速变更的大环境. 本文将介绍微服务架构的演进.优缺点和微服务应用的设计原则,然后着重介绍作为一个"微服务应用平台"需要提供哪些能力.解决哪些问题才能更好的支撑企业应用架构. 微服务平台也是我目前正在参与的,还在研发过程中的平台产品,平台是以SpringCloud为基础,结合了普元多年来对企业应用的理解和产品的设计经验,逐步孵化的一个微服务应用平台. 一.微

用户体验设计原则:安卓用户体验团队制定的设计原则

文章描述:Android界面与交互设计原则. 译者按: 在iOS HIG已经强大经典了N年之后,Android终于推出了一套比较系统的HIG(大概是为了配合Android 4.0 Ice Cream Sandwich).仔细比较两套HIG的"设计原则"部分,发现完全是截然不同的两种风格.iOS HIG走的是更专业型的路线,描述严谨且有不少的专业词汇(比如Metaphors.Consistency之类的).而Android则显得亲民许多,不仅描述方式简要易懂,配图鲜明直观,甚至还用了&q

GOOGLE用户体验设计师谈Google的十大设计原则

在一次讲座上,Jon Wiley--Google的"用户体验设计师"(User Experience Designer)--提到了Google的十大设计原则. 1. 有用(Useful):以用户为焦点,关注他们的生活.工作和梦想. 2. 快速(Fast):争取节省每一个毫秒. 3. 简单(Simple):简洁就是力量. 4. 魅力(Engaging):能够唤起新手的好奇心,能够吸引资深用户. 5. 革新(Innovative):勇于创新. 6. 通用(Universal):全世界适用的

“即将上线”页面的设计原则与创意要素

周五抽烟时我说,心里的感觉就像是一个时代结束了.一位同事说,只是又到了开始翻开新的一页的时候而已.是的,的确是这样. 现在耳边放着Radiohead在不插电专辑中翻唱的Wish You Were Here,不知这是一种淡定还是麻木,亦或是大脑自作主张的帮助我屏蔽掉了心中的某些感觉,让我只需安静的处于这一切的现场而忘乎所以. 想到另外一位同事所说:"我真的只想安安心心的做做设计,做自己喜欢的这些东西"...到这里我几乎不知该怎样才能继续写下去了...我有幸能和你们一起度过一段值得珍惜和回

23、Python与设计模式--设计原则

一.六大设计原则 在法理学中,法律规则与法律原则都是法律规范的重要构成.但二者也会有些不同:法律规则是指采取一定的结构形式具体规定人们的法律权利.法律义务以及相应的法律后果的行为规范,内容比较明确,比如,交通法规中规定,禁止闯红灯:法律原则是指在一定法律体系中作为法律规则的指导思想,基本或本原的.综合的.稳定的原理和准则,内容上只包含"大方针",而并未有具体规则,比如,如果车上有马上临产的孕妇,闯红灯不会被处罚,这是符合重视生命的原则.设计模式与设计原则,基本符合规则与原则的关系,设计

Google移动网站设计原则白皮书:应该遵循 25 个设计原则

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 Google 刚刚发布了由 Google 与 AnswerLab 联合打造,名为<Principles of Mobile Site Design: Delight Users and Drive Conversions>的移动网站设计原则白皮书.白皮书提到,为了愉悦用户和推动转化率,移动网站设计应该遵循 25 个设计原则. 这