先回顾一下之前我们已经讲过的设计模式:
简单工厂模式,策略模式,单一职责原则,开放封闭原则,依赖倒转原则,装饰模式,抽象工厂模式,模板方法模式,迪米特法则;
今天我们来讲一下外观模式,这个在昨天讲迪米特法则的时候我们已经提到过,其实外观模式就是迪米特法则在实际中的运用。
多余的例子我就不不说了,就讲一下我们的三层设计模式吧。
三层模式就是典型的外观模式:
先贴出外观模式的定义:
为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得子系统更加容易使用。
不管这个结构图如何,让我们先来回忆一下我们学习过的3层模式,3层模式是我们软件开发中常用的框架模式,分为表示层,业务逻辑层,数据处理层。
那么为什么我们要用这么多分层呢,原因只有一个,就是为了减少代码耦合度。
想象一下你将一大堆的数据库操作和复杂的业务逻辑,在和界面混杂在一起,你会怎样,即使在前期开发中你感觉还不错,但是后期的维护呢,如果达不到人码合一,我估计修改的人肯定会暗暗骂你,真尼玛坑爹呀!
有了3层模式,表示层只负责和界面上的交互操作,复杂的业务逻辑交给业务逻辑层去处理,相应的数据在进过业务逻辑层之后在传递给数据访问层,这样感觉整个思路非常的清晰,感觉界面欠佳,我该表示层,感觉需要添加业务逻辑,我就直接操作业务逻辑层,这样也满足我们的各大软件设计原则,给软件的后续维护带来了方便,所以大家在编写代码的时候,一定要整理好自己的思路,不要将复杂的代码混杂在一起,否则有一天你真的会被骂坑爹啊
。
编程是一种技术,更是一种艺术。艺术的底层就是我们现在看的这些设计模式和设计原则。如果你不想当一个码农,而是想真正的当一个艺术家,那么请和Darren一起来从底层来学习这些基本工,编码让生活更精彩。
什么都会变,唯有这些底层的知识不会变,所以你现在投资时间来学设计模式,不敢说绝对对你有帮助,但是我想他会改变你对编码的看法,甚至对生活的看法,最近再听猫扑网络电台,感觉很不错,谁说程序员只能整天敲代码,我们也可以找时间去接触一下外面的新奇事物,听听大家都在说什么,听听大家背后的故事,我一直都以聆听者的态度去面对这个社会,因为我知道,在你没有成功之前,没有人愿意是你的聆听者,或者你说的话根本起不到什么影响力,所以在没有成功之前我选择去聆听,听听大家的想法,重中揣摩出新的思想,这样就为我的成功又积攒了一块砖,不要怕现在失去什么,我只看好我以后能得到什么!
以上纯属个人观点,有不同观点的还请多多包涵...
哈哈,今天的设计模式比较简单,顺便聊聊Darren对编码的看法以及对人生的看法,希望大家以后能多多给Darren提问题,当然大家有好的想法和建议也可以提出来,大家一起讨论。我想和各位成为朋友。
天色已晚,大家都洗洗睡吧,新的一天,让我们用满怀的激情去迎接它...