韩小明@xiammy的专栏

没水的地方挖井,有水的地方修渠

韩小明ID:xiammy
438149次访问,排名107好友11人,关注者66
毕业后一直在广联达工作
xiammy的文章
原创 174 篇
翻译 0 篇
转载 22 篇
评论 1131 篇
韩小明的公告
作者毕业于浙江大学,非常热爱体育运动。现在尤其热爱羽毛球运动。在休息时间非常热爱技术文章写作。
最近垃圾评论泛滥,为了不污染大家的视听,暂时关闭评论,请大家理解。
欢迎转载,但请注意,除非特别声明,本站采用Creative Commons License许可:署名,非商业。

最近评论
liquankun:瑞星还是不咋地!
白花了几个月的钱
外国的杀软不一定比国产的好!
但是国产的就是比不上国外的!
没办法!技术赶不上人家 还竟搞内讧
不经历大灾难 就不知道什么是团结!



正真的高手是不用杀毒软件的,没什么好不好的,是你自己技术不行而已
wangdei:http://www.bt285.cn BT下载 有300W部BT种子.
http://www.yaonba.com.cn NBA中文网 有200W条NBA直播
http://www.5a520.cn 小说520网 有300W部小说
http://www.bt285.cn/yazhou/ 亚洲BT 有BT亚洲
http://www.bjxlz.cn p……
hemir:不但不知道团结提高,倒是会找枪手到处胡闹。弄的整个环境乌烟瘴气的。
hemir:不但不知道团结提高,倒是会找枪手到处胡闹。弄的整个环境乌烟瘴气的。
hemir:枪手太多,大家都还是相信自己的眼睛吧。个人认为360做的不错。国内的杀毒软件确实不怎么地……
文章分类
收藏
    相册
    图书
    链接
    宗刚的专栏(RSS)
    快乐学习(RSS)
    陈亮亮的专栏(RSS)
    朋友
    张恂论 OO
    言之有李(RSS)
    赵伟的小家
    存档
    订阅我的博客
    XML聚合  FeedSky

    原创 人与OO收藏

    新一篇: 话说解题思路 | 旧一篇: 从代码阅读看设计之简洁

    转载请注明: http://normalsoft.spaces.live.com/blog/cns!AF8C29F59CAD938E!353.entry

        能将OO与人并列去讲,着实费了我很大的劲。可是经过一段简单的比较,发现两者自己的相同之处确实很多!
       
        我们先将这个比方说出来,假设针对我们OO中的每种对象,对应与社会上每一个人,他们千差万别,但都同时满足一个相同点:对象(人)。
        先来所说OO的三个特性:封装、继承、多态。
        封装,显然人很明显地做到了这点,各种各样能力的人,都讲自己封装在一个尸壳之下。
        继承,呵呵,大家都能看到嘛!男人和女人结合的原因也在于此。不过相对于社会,大家可能忽略另外一种继承:学徒!老师教学生,学生掌握知识,都相当于继承嘛。
        多态,嗯,这个比较难以解释。多态是相对于调用者来说的,也就是说,调用者将所有被调用者等同对待(基类),但实际操作,具体的对象会有自己的实现。呵呵,说起来,我自己都觉得好笑,好像资本家(人)就是喜欢干这种事。他们聚集一帮人,让他们干同一类型的活(分工)。虽然干同样的活,但是这群人中,有人技术能力强,有人天生会偷懒。用社会学讲,多态就是剥削!
       
        好了,戏说了三大特性。咱们再看看OO的几大原则:SRP、OCP、LSP、DIP、ISP。讲这些原则,其实就是讲到有关设计了。对于设计,我们应该有一个认识,原则只是让我们来判断什么时候好的,什么是不好的。不代表其是否存在!
        SRP,单一职责原则。这个很好解释,对于你来讲,或者说对于大部分人来讲,你会认为单纯的人你更愿意接近呢,还是喜欢接近复杂甚至阴暗的人呢?答案不言而喻了吧。所以我们设计正如我们选朋友一样,要尽量简单,坦诚相见。
        OCP,开闭原则。修改一个人的基因是如何地难?改变一个人的习性是如何艰难,要不怎么会有“江山易改,本性难移”的俗语?所以说,改变别人不是一个好的办法。对于改变短处,确实很难,但是,我们扩展别人的长处,却往往事半功倍!这个时候开放的心态也是人在面对变化的时候的制胜法宝。
        LSP,替换原则。这显然是个用人问题。那些大老板们都喜欢任何工作角色都可以被替换,替换的人可以直接顶替原有的人。呵呵。工业化、规模化的发展,难道必然要求这样?
        DIP,依赖倒置原则。这个又是一个组织的艺术。对于一个组织群体,他的整个架构最好是不要依赖于具体的人,而是具有统一性质的人,这就是人的角色概念。依赖于这些角色,可以组织成各种工作流程,最终形成整个组织的构成。
        ISP,接口隔离原则。简单点说就是用人,用的是他的能力。每个人都有他的多面性。而我们在相处的时候,只是关心其一面或几面。父母关心的是其作为子女的一面,妻子关心的是作为丈夫的一面,儿女关心的是作为父亲的一面,老板关心的是作为能力的一面。我们关心都是其对应的角色。
        上面的对比虽然比较牵强,不过还是可以帮助我们理解OO的一些基本知识的。
    下面,我们再尝试从人的自然性和社会性来分析OO。当然了,我对社会学不是很了解。所以知道什么说什么了。
        人是有生有灭的。不知道大家有没有考虑过这样的问题,为什么OO中的对象会有构造和析构的过程?是的,人如果都不死,那么地球就死了。就如有一个家伙证明西方僵尸鬼是不可能存在的,就是假设人变成僵尸后不死,那么只要经过两年,地球上所有人都变成僵尸了。而这些僵尸也会因为不能喝到活的人血而全部死亡。呵呵,所以僵尸的不存在恰恰证明了人的死亡的必然性和合理性。
        据说有一个理论,人和人之间要能够认识,只需要3经过三个人。翻翻我们的代码,如果一个类要引用另一个类的话,连接的长度如果太长,你就会发现其设计有问题,一定想找一个捷径直接去访问。于是又会倾向于简短访问的方向平衡。
        其实OO就是人创造的,而所有对象,都是从人的角度去理解的。往往很多都带有人本身的特性在上面,所以必然又很多痕迹可以追寻。本文只是一个尝试,目的也只是更好的理解OO。理解我们的设计。

     

    发表于 @ 2006年10月30日 00:24:00|评论(loading...)|编辑

    新一篇: 话说解题思路 | 旧一篇: 从代码阅读看设计之简洁

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 韩小明