zoukankan      html  css  js  c++  java
  • 开篇面向对象

     昨天又看一本设计模式方面的书《大话设计模式》才看了第一章,整理了一下准备形成一个系列。
    书中作者对面向对象举了个例子,将面向对象的所带来的好处凸显出来,
    例子如下:话说三国时期,曹操带领百万大军攻打东吴,大军在长江赤壁驻扎,军船连成一片,眼看就要灭掉东吴,统一天下,曹操大悦,于是大宴众文武,在酒席 间,曹操诗性大发,不觉吟道:“喝酒唱歌,人生真爽。…………”。众文武齐呼:“丞相好诗!”于是一臣子速命印刷工匠刻版印刷,以便流传天下。样张出来给 曹操一看,曹操感觉不妥,说道:“喝与唱,此话过俗,应改为‘对酒当歌’较好!”,于是此臣就命工匠重新来过。工匠眼看连夜刻版之工,彻底白费,心中叫苦 不喋。只得照办。样张再次出来请曹操过目,曹操细细一品,觉得还是不好,说:“人生真爽太过直接,应改问语才够意境,因此应改为‘对酒当歌,人生几 何?…………’!”当臣转告工匠之时,工匠晕倒…………!可惜三国时期活字印刷还未发明,所以类似事情应该时有发生,如果是有了活字印刷。则只需更改四个 字就可,其余工作都未白做。实在妙哉。
    第一,要改,只需更改要改之字,此为可维护;第二,这些字并 非用完这次就无用,完全可以在后来的印刷中重复使用,此乃可复用; 第三,此诗若要加字,只需另刻字加入即可,这是可扩展;第 四,字的排列其实有可能是竖有可能是横排,此时只需将活字移动就可做到满足排列需求,此是灵活性好。而在活字印刷术之前,上面的四种特性都无法满足,要修改,必须重刻,要加字,必须重刻,要重新排列,必须重刻, 印完这本书后,此版已无任何可再利用价值。
    面向对象其实就是我们将一个对象,抽象无数的小对象,让这些对象尽可能的职责单一。根据用户请求的不一样去封装、根据创建对象的不一样去封装或者根据算法 的不一样去封装。
  • 相关阅读:
    WEB网站类型系统中使用的OFFICE控件
    【架构】原型设计工具一览
    【云计算】mesos+marathon 服务发现、负载均衡、监控告警方案
    【自动部署该怎么做?】
    【OpenStack 虚拟机初始化user-data & Cloud-init】
    【数据可视化 参考资料】
    【RabbitMQ 参考资料】
    【CloudFoundry】架构、设计参考
    【OpenStack项目管理-CPU/内存/存储/网络 配额管理】
    【前端自动化构建 grunt、gulp、webpack】
  • 原文地址:https://www.cnblogs.com/JackWang/p/1762417.html
Copyright © 2011-2022 走看看