良好设计的要素

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


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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值