1.设计模式六大设计原则详解

闲话

开年做总结的时候说,今年要搞一搞phpunit、设计模式等。测试的坑我已经填了,今天开始来填设计模式的坑了。
之前看文章(不记得是哪儿了,对不起啊,作者)说:设计模式这个东西,是因为我们思维的局限,没办法设计出一个架构良好的系统,所以搞出了这样的东西来满足我们的需求。一个完美的东西应该是简单的,而我们再看设计模式的时候,常常被其左一下、右一下搞得晕晕的。因此,这位大牛觉得,在系统开始之初是不应该或者尽可能少的使用设计模式,让自己的代码跟简洁、简单。更容易懂。

对于这位大牛的话,我深以为然。说说自己的例子。我自己做的一个系统,其中有一种个逻辑有七八个if…else…。然后看那代码我只能抓狂。然后就用状态模式重构了一番。运行流程,逻辑清楚,调用简单。当然这是我自己的评价。后面有一天又新增了一个状态,这还不是so easy?设计模式就是用来解决这些问题的呀,方便扩展。
然后就让我这一组的一个同学在我之前的状态模式中,新增加一个状态类。结果,过了半天他过来问我,我这个类时怎么运行的?打断点看了执行流程还是不明白其原理。呵呵…说到这里,相信很多人有这样的体会。看不懂设计模式。

OK,说这么多闲话,主要是为了表达两个意思:
1. 大牛说的对,能够不用设计模式就很好解决扩展、维护的问题,就别过度设计。因为设计模式也许你懂,但是换个实习生来做(也许工作两三年的也不一定懂)维护,他根本不知道你为什么要把代码搞成这样,一个方法,七八个if…else…多好呀!
2. 设计模式挺不好搞明白的,而且随着时间推移,有多个变种,以及多种组合使用的方式。因此我才觉得写一写自己实践中使用的东西。我是这么想的:23种设计模式,我可能不会全部都写一次,毕竟很多东西,我们做业务可能一辈子都用不到。

设计原则

既然设计模式这么屌,肯定他必须遵守某些规范。比如平时我们自己的代码,就是因为每个人都按照自己的“个性”来搞,然后到最后,就惨不忍睹了。所以为了便于扩展、维护。设计模式应该有一个规范。对于这个规范,之前我还想来装装逼,后面看了看网上的资料,觉得实在没有我装逼的空间了。装逼的位置留给他:

[1] 设计模式六大原则(1):单一职责原则
[2] 设计模式六大原则(2):里氏替换原则
[3] 设计模式六大原则(3):依赖倒置原则
[4] 设计模式六大原则(4):接口隔离原则
[5] 设计模式六大原则(5):迪米特法则
[6] 设计模式六大原则(6):开闭原则

个人觉得,以上文章很好的说明了设计模式的各项原则。可以认真阅读、领会。并结合这些原则来进行设计模式的学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值