自考前几天看过一阵子设计模式的教程。最开始一头雾水,很是迷茫!
从表面上看,我理解的设计模式就是一个代码的架构,在程序中如何对代码进行布局,排版,如何调整自己的思路和逻辑自己的思维,这就是设计模式。就好像是我们要盖一所别墅,那么里面具体该怎么布局,比如厨房应该建在哪里,卧室应该建在哪里,卫生间呢?那么三者结合来考虑又应该如何布局才能既美观又方便居住者居住!
那么这样想来,其实,我们在平时编写代码时,确实要进行一番思考,就好像上面所说的建房子一样,比如我们如何编写代码才能使我们的程序可扩展性,可应用性更好,使程序的维护更加灵活。就像已经基本成型的一套别墅,我们不能因为忽然买主想要多加一个后花园就把整套房子拆了重新再来吧?这样费时费力不说,关键是,如果你是那个公司的老总,早就想自杀了吧!原因是——赔不起,还不起!这个时候,需要的是,我们事先尽可能的去考虑到更多可能的情况,以至于在买主提出新要求时,改动的地方不至于太大。这样重建带来的额外开支,就可以拿来给自己发工资了!
好在大话设计模式这本书,情景式的导入,让我们很容易懂,以至于我们不用完全被那些枯燥的原则所迷惑!
细细品味其中的情节,再加上前面附加的类图,通过右前往后,层层递进,挨个儿对比,会发现使用各个设计模式的好处!
学习中,越来越觉得生活常识和经验对于学习来说是多么至关重要。编写每一个例子,考虑到的都是生活中可能遇到的情况。就拿商场打折这个例子来说,最开始如果让我们自己去编写,我们通常会按照要求按部就班,不假思索吧!可是,深加考虑,平时生活中我们去买东西,打折的情况很多,方式也是千奇百怪,考验我们的时候到了,你如何编写程序,使得你的程序能够应付各种商品的各种方式的促销,便成了一门学问,这就是——设计模式!当然在考虑这些时,我们必须必备一定的全局观,也就是面向未来的思想和天马行空的想象力!没有这些恐怕学习了设计模式也只能当成一个摆设。
设计创新也!但是要想创新,首先要逻辑清晰!所以,对于课本中的实例中的前因后果还是值得好好推敲的!