你的位置:首页 > ASP.net教程

[ASP.net教程]设计模式 感想


1,开篇  

   在刚刚学习完李建中老师的C#面向对象之设计模式纵横谈视频之后,感想颇多,在此稍微记录一下嘿嘿。

2,内功修炼

  很多人都反映,学了设计模式就感觉好像什么都没学到一样,学了就忘了,学了也不会用,然后还需要再枯燥的再去学。其实我觉得这样是没有真正领悟设计模式的精髓,对于修炼武功一样,只去学一些外在的招式,而不加强自己的内功的修炼,因此学来学去,即使招式再牛逼,也起不了太大作用,因为内功不行。内功就是我们常说的,但是却常常容易被人忽略的东西。

  2.1,什么是面向对象

    每个人不妨问问自己的内心,看看自己有没有真正的理解透彻面向对象,什么是继承,什么是封装,什么又是多态等等。自己有没有从头认真看过面向对象的书籍,有没有进行深刻的练习与反思,自己到底有没有真正的理解面向对象内容。我想当你把这些真正的明白了,真正的熟练的运用到项目中,那么恭喜你已经完成了内功修炼的第一步!!!

  2.2,什么是抽象-具体

    俗话说的话,依赖于抽象,不依赖于具体实现。那么什么才算是抽象呢,什么又是具体的呢?这些自己心中是否有底呢。当我们Coding时,我们有没有提前设计自己的类图,设计自己的时序图,有没有深刻的分析需求,深刻的理解用户的需求,这些都是我们要考虑的,只有深刻的理解了需求,才能谈的上去抽象,去提炼。比如操作数据库,我们都必然会设计到增删改查方法,但是我们不确定最终项目会用什么样的数据库,前期可能用mysql就够了,但到了后期可能又要该sqlserver,后期还可能mongodb等。那么在这里抽象的就是数据库的增删改查方法,而具体的就是数据库的种类。而我们在开发时就要依赖于抽象,而不能依赖于具体的那个数据库。如果你真正的理解用户需求,然后又懂得什么是抽象和具体,以及提取出抽象的东西,那么恭喜你,你已经学会了内功修炼第二步了!

  2.3,什么是设计原则(我个人简单定义为S、I、L、O、D)

    S(Single),职责单一。就是每个类只负责处理自己相关的东西。每个类只有一个让它发生改变的原因。

    I(Interface),接口隔离。不要要一个接口负责很多事情,不要让其污染哈哈,每个接口之间都彼此隔离。

    L(),里氏替换原则。即子类可以重写父类。重写后不会引起使用者的变动。

    O(Open),开放封闭原则。对扩展开放,对修改封闭。一个类如果要增加新功能,可以新增加类,但是不要修改原有的类。

    D(Dependence),依赖倒置原则。具体依赖于抽象,而不应该是抽象依赖于具体实现。

3,招式

  其实设计模式本身就是工具,每每提到设计模式,都说是23种设计模式,其实远不止这些,只是这23种较为实用而已。设计模式只能作为你真正掌握了以上的内功心法之后的学的一种外在招式,如何体现出来你的内功,如何表达你的内功,则必须通过一定的招式,一定的方法,这里就是设计模式。

4,总结

  总而言之,如果不懂得设计模式的精髓(设计原则),也就是不懂内功,则再学多少遍设计模式,会多少招式,我觉得也难以立足于江湖!!!!