准备了好久的设计模式教程,终于在昨天周末录制完成。当晚上传到网易云课堂,第二天就通过了审核,这次网易工作人员的工作效率还是相当可以的。
http://study.163.com/course/courseMain.htm?courseId=752006#/courseMain
注意,该教程设置了收费模式,19.9元。不过1-5课时是免费看的,我觉得自己大体的思路,都在2-5课时里说明了。因此建议大家看看2-5课时,或许能与你产生共鸣,或许能给你带来启发,或许你还能给我反馈一些建议和指导,我都虚心接受。
从半年前,我就开始重新整理设计模式的知识。之前自己也零零散散知道一些,不是很系统,于是当时就决定好好整理一下。最好是能录制一个教程,一来和大家分享知识,二来自己通过讲解巩固知识。于是就开始查阅各种资料,《设计模式——可复用软件的基础》《松本行弘的程序世界》《大话设计模式》《设计模式之禅》《head first设计模式》这些书籍,以及平时查阅的cnblogs、csdn、javaeye(iteye)这些网站的资料。。。。等等,在学习过程中,自己也写了很多学习笔记。
学习的过程是漫长的,也是枯燥的,而且像咱们这种上班族,也只能利用业余的时间来学习。说实话,能一直坚持下来真的不容易,因为我比别人不知道牺牲了多少玩游戏、看电影、看电视剧的时间,当然,连陪女友的一部分时间都牺牲了。
“学而不思则罔”,这句话说的一点没错。我之前不止一次的学过设计模式,每次都是今天学明天忘,久而久之就没有了动力,半途而废,不了了之了。无论学什么或者做什么,只要有了这种状态,说明你没有抓住方法。这与你是否努力无关。之前我学设计模式,每次也都很努力,不偷懒,但是还是学不会。
这一次,我尝试着去思考了一下,接着还真有了一点点想法。
其实,学习设计模式的目的,是为了更好的设计系统。系统之所以需要设计,是因为系统要慢慢变化,有需求变更,有产品升级,系统慢慢变得大了,维护的人员多了,就需要各种规则约束。那么如何去应对这种大、人多、业务复杂、变化多样的系统呢?答案就是更好的设计。这其实也是我有了几年的工作经验之后,才慢慢体会出来的,所以没有工作经验的人,估计是没有这个体会。那么,该如何设计系统呢?有没有一些指导?——大难就是设计原则。我们在设计系统时候,都是以设计原则为指导的。你知道设计模式,不知道设计原则,白搭。但是设计原则过于抽象,可以通过学习设计模式来理解设计原则。
所以,首先你要明白,你要的东西是“设计”,如何更好的设计,设计的指导方针。而那些模式,只不过是些套路,是一些具体的解题思路罢了。
我们在做系统设计时候,会在设计过程中遇到各种各样的问题,这个不可否认。有些问题久而久之,每个都都会遇到,就形成了一些固定的解决思路,而这些解决思路,就是设计模式。如果用这一条线来理解设计模式,一点儿都不难。即:设计过程 -> 遇到了问题 -> 总结典型问题 -> 总结解决办法 -> 归纳出23种设计模式
我顺着这个思路慢慢细化,就写了一套很详细的解决方案,并在当时发布到园子中。不过很遗憾,关注量不多。
虽然大家关注不多,但是我还是没有放弃。这个思路,这个想法,既然能帮助我理解设计模式,那么它肯定可以帮助其他人。于是我就继续做下去,直到昨天录制完成了这个教程。
我把它起名叫“从设计到模式”,这个名字还没有人叫过,算是我的一个小创新。其实好好分析,这样叫是有意义的。我们在理解设计模式的时候,难道不是从设计到模式吗?“设计模式”这是两个词,“设计”是抽象的,“模式”是具体的。设计和模式分开,才能把设计模式理解透彻。
不信,大家去看看教程2-5课时,免费预览。有意见或者问题,可以给我留言。
http://study.163.com/course/courseMain.htm?courseId=752006#/courseMain
我录制的设计模式视频教程——【从设计到模式】,布布扣,bubuko.com
原文地址:http://blog.csdn.net/wangfupeng1988/article/details/38677867