大话设计模式——饕餮盛宴

背景:《大话设计模式》上的例子已经敲完了,总是偷懒不想去做总结,师傅每次开会都会强调总结、颗粒归仓云云,自己当师傅也会给小徒弟强调学完一个阶段一定要做总结云云,但是呢?师傅们的总结博客上可以看出来人家的细心与认真,小徒弟们的总结每次的日报上都会详细的摆着,而自己是做得最不好的,博客博客,没有,日报日报,偷工减料,哎......尴尬不过,过去了,好好把握现在吧!生气大话设计模式,总结来啦,有点晚,别介意哈,嘿嘿大笑


总体来说《大话设计模式》是饕餮盛宴,下面我就来一一的介绍......


一、基础篇


   大餐降至,小菜先来开开胃,大话设计模式的面向对象基础就是“开胃小菜”,好好开开胃吧!


对象:一个自包含的实体,用一组可识别的特性和行为来标志。

类:具有相同的属性和功能的对象的抽象的集合。

实例:真实的对象

实例化:创建对象的过程,使用new关键字来创建。

构造方法:又名构造函数,其实就是对类进行实例化。构造方法与类同名,无返回值,也不需要void,在new时候调用。所用类都有构造方法。

方法重载:在不改变原方法的基础上,新增功能。

属性:一个方法或一对方法,适合于以字段的方式使用方法调用的场合。

封装:每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来完成自己的操作。

继承:对象的继承代表了一种“is-a”的关系,如果两个对象A和B,可以描述为“B是A”,则表明B可以继承A。继承者可以理解为是对被继承者的特殊化,以为它除了具备被继承者的特性外,还具备自己独有的个性。

多态:表示不同的对象可以执行相同的动作,但要通过它们自己的实现代码来执行。

重构:重构就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

抽象类:代表一个抽象概念,提供一个继承的出发点。

接口:把隐式公共方法和属性组合起来,以封装特定功能的一个集合。

泛型:具有占位符(类型参数)的类、结构、接口和方法。

委托:是对函数的封装,可以当作给方法的特征指定一个名称。是一种引用方法的类型。一旦为委托分配了方法,委托将于方法具有完全相同的行为。

事件:是委托的一种特殊形式,当发生有意义的事情时,事件对象处理通知过程。


二、模式篇


    大话设计模式中的二十四道大菜,道道爽口,每道菜品都有它们自己的特色,仔细品尝,乐在其中。


   《大话设计模式》中一共有24个模式,大致上可以分为三类,分别为行为型模式,结构型模式和创建型模式,如图:



行为型模式:考虑算法和对象间职责的分配。不仅描述对象和类的模式,还描述它们之间的通讯模式。

结构型模式:考虑如何组合类和对象以获得更大的结构。

创建型模式:考虑对象的实例化工程。


三、原则


    盛宴中总得有美酒相伴吧,那么六大原则就是各种美酒吧,有单一职责——茅台,有开放-封闭——五粮液,有依赖倒转——剑南春,有里氏代换——杏花村,有迪米特——汾酒,还有合成/聚合复用——二锅头,好酒虽好,可不要贪杯哦!偷笑


单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。

开放-封闭原则:软件实体(类,模块,函数等等)应该可以扩展,而不是修改。

依赖倒转原则:A.高层模块不应该依赖低层模块。两个都应该依赖于抽象。

             B.抽象不应该依赖细节。细节应该依赖抽象。

里氏代换原则:子类型必须能够替换掉它们的父类型。

迪米特法则:如果两个类不必彼此直接通信,那么两个类就不应当发生直接的相互作用,如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。

合成/聚合复用原则:尽量使用合成/聚合,尽量不要使用类继承。


四、心得


   享受大餐后,是不是应该来点甜点呀?心得体会便是那“饭后甜点”,嘿嘿......

    上面仅仅是《大话设计模式》的大体总结,其中的各个模式、各个原则才是这本书的精华所在,而我仅仅是学到了设计模式的皮毛而已,总结完毕后我想说的是:设计模式学无止境!

    以上餐品内容纯属本人虚构,仅供参考......





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值