开放-关闭原则:是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改[ASD]。这其实说明了两个特征,一个是“对于扩展是开放的(Open for
extension)”,另一个是“对于更改是封闭的(Closed for modification)”[ASD]。对扩展开放,意味着有新的需求或变...
分类:
其他好文 时间:
2014-05-14 04:15:09
阅读次数:
266
原文网址:http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html1
sort的工作原理sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。[rocrocket@...
分类:
系统相关 时间:
2014-05-14 03:59:49
阅读次数:
354
若对于每一个类型S的对象o1,都存在一个类型T的对象o2,使得在所有针对T编写的程序P中,用o1替换o2后,程序P的行为功能不变,则S是T的子类型。What
is wanted here is something like the following substitution property: I...
分类:
其他好文 时间:
2014-05-14 03:32:08
阅读次数:
229
设计模式介绍模式:每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这是关于模式最经典的定义,作者是建筑大师Christopher
Alexander。如果是第一次看到这句话,多数人会觉得有些抽象难懂。其实“模式”两个字只是一个代号,就像我叫Justin,如果我改叫Tom...
分类:
其他好文 时间:
2014-05-12 04:12:33
阅读次数:
381
如果你对项目管理、系统架构有兴趣,请加微信订阅号“softjg”,加入这个PM、架构师的大家庭
一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。
1:积累是必不可少的 架...
分类:
Web程序 时间:
2014-05-11 23:58:09
阅读次数:
625
3.依赖倒置原则:High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractions.
意思是:高...
分类:
其他好文 时间:
2014-05-11 22:15:36
阅读次数:
326
一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。
1:积累是必不可少的
架构师不是一天练成的。...
分类:
Web程序 时间:
2014-05-11 20:23:42
阅读次数:
522
上一讲说到,各个特征(各个分量)对分类来说,其重要性当然是不同的。
舍去不重要的分量,这就是降维。
聚类变换认为:重要的分量就是能让变换后类内距离小的分量。
类内距离小,意味着抱团抱得紧。
但是,抱团抱得紧,真的就一定容易分类么?
如图1所示,根据聚类变换的原则,我们要留下方差小的分量,把方差大(波动大)的分量丢掉,所以两个椭圆都要向y轴投影,这样悲剧了,两个重叠在一起,根本...
分类:
其他好文 时间:
2014-05-11 20:17:34
阅读次数:
313
单一职责原则(SRP),字面意思就是功能要单一,准确解释是:就一个类而言,应该仅有一个引起它变化的原因[ASD]。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当发生变化时,设计会遭受到意想不到的破坏[ASD...
分类:
其他好文 时间:
2014-05-11 17:43:21
阅读次数:
332