`
colen
  • 浏览: 62243 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

良好设计的要素

阅读更多

良好设计五大要素(同等重要,没有优先级之分)


1. 对需求的完美实现:

完美的意思是:完全实现确定需求,对潜在需求有一个恰到好处的粒度的实现

2. 高内聚,低耦合:

a. 良好的,符合对象本质的模块划分

b. 使用最匹配的设计模式

3. 符合Kiss原则:

a. 奥卡姆剃须刀:用最少的模块,类,以及代码段实现

b. 模块,类,接口定义易于理解, 易于掌握和学习, 无歧义性

c. 容易维护

4. 高度灵活,良好的可扩展性

5. (运行时)尽可能高的性能


非良好设计的要素


除了以上的要素的相反面, 要再定义好的设计要素很难,不过什么是不好,我们很容易看出来:有臭味的代码,就是不好的设计. 什么样的代码有臭味?不够简单的代码, 就是有臭味,那,什么样的代码不够简单:

1. 难修改的代码:

a. 要修改自己, 先要去跑好几个其他地方,修改其他的代码;

b. 自己的代码改不动,

2. 脆弱的代码: 修改后,自己都不知道,并且已经在好多地方出现隐性的bug

3. 不够简单的代码:这里的不够简单,指没有用最少的代码行进行实现

4. 冗余的代码:功能重复,却有好几个不同名的接口

5. 难懂的代码:只有自己才看得明白,甚至自己过后都看不明白


难点在于:


1. 恰到好处的潜在需求实现, 对"恰到好处"的把握并不容易

2. 怎样才是高内聚,低耦合,100个人有101种理解

3. 要做到使用最少的代码进行实现, 在实际情况中不容易

4. 怎样才算好的可扩展性, 很难定义

5. 实现的同时就兼顾到高性能, 不是一件容易的事;如果事后还有时间去进行不同方案的性能比较,就更不容易

0
0
分享到:
评论

相关推荐

    网页设计作业-在进行网页设计之前,首先需要明确设计的目标和原则.pdf

    网页设计的布局和结构是决定网页外观和组织的关键要素。以下是一些常见的网页设计布局: - **固定宽度布局**:网页的宽度固定,内容在页面中央展示,两侧留白。 - **流式布局**:网页的宽度根据屏幕大小自动调整,...

    iPhone游戏交互式叙事设计研究

    本文选择在交互设计方面目前普遍较为认可的典型案例论hone为基础,探讨在 ...游戏设计要素。 基于上述研究,笔者在第五章描述了两个设计实践验证游戏交互式叙事设计理论的 可行性并进行了总结展望。

    电源技术中的无线充电设计的五大要素

    一个设计良好的系统可以提供诸多好处,从改进的功能(比如智能手机不再需要插电)到支持新的技术(比如放在放射性环境中的传感集中器,在这种情况下无法通过有线充电,而且人机交互也是不安全的)等等。使用磁场耦合...

    徐正良-有轨电车规划设计经验与教训-11.13.pdf

    任何一个轨道交通工程项目,所牵涉的设计人员无论在专业上和人数上都是众多的,这就需要三维协同解决方案要具有良好的可操作性、易学易用,而且在成本上也能够大量配置。同时,易学易用的特性也是实现快速部署,并在...

    无线充电设计的五大要素

    一个设计良好的系统可以提供诸多好处,从改进的功能(比如智能手机不再需要插电)到支持新的技术(比如放在放射性环境中的传感集中器,在这种情况下无法通过有线充电,而且人机交互也是不安全的)等等。使用磁场耦合...

    《用户体验要素》读书笔记PPT下载

    用户体验设计需要兼顾外形和功能设计,同时保证产品能够良好的工作 用户体验设计的好坏会影响用户的忠诚度 用户体验设计影响用户忠诚度,而它最终会影响企业的盈利能力 ... 关键词:用户体验PPT,读书笔记PPT下载,....

    API设计教程

    讨论各种能够影响良好API设计的C++语言特性,如良好构造函数和操作符风格、命名空间、指针和引用参数的比较、友元的使用以及如何在动态库中导出符号。 第7章:性能。分析API的性能问题并说明如何使用C++构建高性能的...

    C++:面向对象程序设计

    设计的基本原理和要素,详细介绍了 C++程序设计技术,并在此基础上对 VC++的程序设计技术等内容进行了重 点介绍。本书将C++的基本原理与具 体实践相结合,使读者不仅对C++语 言本身有深入的了解,同时为读者迅 速...

    城市公交系统数据库设计.doc

    如:公交站点设计成点要素、公交 线路和道路设计成线要素,建筑物和车站等设计成面要素。 由于用户对数据库的操作主要有插入数据、修改数据、删除数据和查询数据等,其中 ,最频繁的操作是查询数据[3]。现在根据系统...

    山东半岛设计波要素研究 (2013年)

    文章主要对山东半岛的设计波浪要素进行了模拟研究。首先,运用第三代波浪模型SWAN模型,对山东半岛1996~2011年的风场进行了波浪模拟,并与观测值进行了比较,拟合结果良好,表明了模型的准确性。然后再根据模拟结果...

    [浙江]江南桐乡现代风格住宅建筑方案设计

    按照环境与生态规划设计原则,充分考虑利用现有生态要素,创造宜人的建筑环境。本方案力求塑造一个既有丰富文化内涵,又有环境效益、经济效益、社会效益的生态住宅小区,同时体现适用性和均好性的原则,考虑环境、...

    VI设计大赛及评分标准.doc

    七、活动奖项: 一等奖 :1人 二等奖:2人 三等奖:3人 优秀奖:1人 主办:学校教务处 承办:教研室(电艺) 年 月 日 2014年VI设计竞赛评分标准 一个良好的VI设计, 要使人看了之后, 便能产生愉快的视觉与深刻的...

    计算机网络技术《网站美工设计》课程标准.docx

    (二)设计思路 《网站美工设计》是一门集美学、Photoshop、Illustrator、Flash、Dreamwaver等设计软件应用为主的实践性课程,培养学生具备良好的创意和一定程度的审美观。通过学习本课程,学生应了解网站基本设计...

    最新关于开设计算机平面设计专业的论证报告.doc

    随着人们对视觉享受的要求逐渐增高,计算机平面设计市场也越加被人看 好,然而我国计算机平面设计人才的极度匮乏已成为制约计算机平面设计业开展的关键 要素,尤其是北京、上海、广州等地计算机平面设计人才急缺。...

    SWAN与CGWAVE嵌套模型在设计波要素计算中的联合应用 (2015年)

    以舟山东福山岛码头为例,利用SWAN与CGWAVE建立的大、小范围波浪嵌套模型...研究结果表明SWAN与CGWAVE模型的联合应用在东福山岛码头设计波浪计算中具有良好的适应性,为港口工程的设计、建设提供了科学依据和理论借鉴。

    智能工厂BIM智能设计解决方案.docx

    1.1 解决方案应具备的要素 工厂bim智能设计解决方案的适用范围 冶金行业、石油石化行业 、 化工医药行业、 火电 发电行业、环保污水处理 行业 、以及其它流程制造行业 具有良好数据兼容性 工业行业涉及的专业广,...

    2021级计算机平面设计专业人才培养方案(中职).docx

    能通过含义明确的视觉符号,运用特定明确的图形、图像来表示和代表某事物,运用计算机软件功能,把一定的理念、功能、内容、主要特性等要素准确传达。 7.会进行信息的分析设计、加工整理。 七、主要接续专业 普通...

    如何设计功能测试用例模板

    本文介绍测试用例一般要素以及如何根据项目特点设计测试用例模板,用以提高测试用例设计效率和实现测试用例执行结果报告的...这几年测试技术和理论有了长足的发展,就功能测试用例设计要素而言,样式上均大同小异,一

    浅谈功能测试用例模板设计

    测试用例设计和执行是测试工作的核心,也是工作量最大的任务之一,设计良好...这几年测试技术和理论有了长足的发展,就功能测试用例设计要素而言,样式上均大同小异,一般都包含主题、前置条件、执行步骤、期望结果等。

Global site tag (gtag.js) - Google Analytics