• 开篇面向对象


     昨天又看一本设计模式方面的书《大话设计模式》才看了第一章,整理了一下准备形成一个系列。
    书中作者对面向对象举了个例子,将面向对象的所带来的好处凸显出来,
    例子如下:话说三国时期,曹操带领百万大军攻打东吴,大军在长江赤壁驻扎,军船连成一片,眼看就要灭掉东吴,统一天下,曹操大悦,于是大宴众文武,在酒席 间,曹操诗性大发,不觉吟道:“喝酒唱歌,人生真爽。…………”。众文武齐呼:“丞相好诗!”于是一臣子速命印刷工匠刻版印刷,以便流传天下。样张出来给 曹操一看,曹操感觉不妥,说道:“喝与唱,此话过俗,应改为‘对酒当歌’较好!”,于是此臣就命工匠重新来过。工匠眼看连夜刻版之工,彻底白费,心中叫苦 不喋。只得照办。样张再次出来请曹操过目,曹操细细一品,觉得还是不好,说:“人生真爽太过直接,应改问语才够意境,因此应改为‘对酒当歌,人生几 何?…………’!”当臣转告工匠之时,工匠晕倒…………!可惜三国时期活字印刷还未发明,所以类似事情应该时有发生,如果是有了活字印刷。则只需更改四个 字就可,其余工作都未白做。实在妙哉。
    第一,要改,只需更改要改之字,此为可维护;第二,这些字并 非用完这次就无用,完全可以在后来的印刷中重复使用,此乃可复用; 第三,此诗若要加字,只需另刻字加入即可,这是可扩展;第 四,字的排列其实有可能是竖有可能是横排,此时只需将活字移动就可做到满足排列需求,此是灵活性好。而在活字印刷术之前,上面的四种特性都无法满足,要修改,必须重刻,要加字,必须重刻,要重新排列,必须重刻, 印完这本书后,此版已无任何可再利用价值。
    面向对象其实就是我们将一个对象,抽象无数的小对象,让这些对象尽可能的职责单一。根据用户请求的不一样去封装、根据创建对象的不一样去封装或者根据算法 的不一样去封装。
  • 相关阅读:
    NHibernate学习笔记manytoone/onetomany/manytomany(转)
    C#.NET使用NHibernate 1.0 XML映射使用中容易出错的地方全程记录(转)
    Interface定义及使用
    c#中的interface abstract 与 virtual(转)
    根据word模板生成word表格报表文档(C#)
    NHibernate中的manytomany关系示范(转)
    工作流平台简介(转自singbird(走夜路的人))
    【Hibernate总结系列】....hbm.xml配置
    CentOS 5.X(更新到6.3)最小化安装过程及网络配置+用yum安装Apache+PHP+MySQL
    CentOS 各版本下载地址和发布时间表(20190401更新)
  • 原文地址:https://www.cnblogs.com/JackWang/p/1762417.html
Copyright © 2020-2023  润新知