`
252190908
  • 浏览: 230048 次
文章分类
社区版块
存档分类
最新评论

软件设计模式之外观设计模式(Darren)

 
阅读更多

微笑首先各位博友对Darren的一直支持,令我最高兴的一件事就是我的博文被CSDN推荐到首页啦,激动啊,大家有兴趣的可以去捧捧场,顺便顶顶啊:http://blog.csdn.net/fwj380891124/article/details/7600346偷笑


先回顾一下之前我们已经讲过的设计模式:

简单工厂模式,策略模式,单一职责原则,开放封闭原则,依赖倒转原则,装饰模式,抽象工厂模式,模板方法模式,迪米特法则;


今天我们来讲一下外观模式,这个在昨天讲迪米特法则的时候我们已经提到过,其实外观模式就是迪米特法则在实际中的运用。


多余的例子我就不不说了,就讲一下我们的三层设计模式吧。惊讶三层模式就是典型的外观模式:


先贴出外观模式的定义:

为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得子系统更加容易使用。




不管这个结构图如何,让我们先来回忆一下我们学习过的3层模式,3层模式是我们软件开发中常用的框架模式,分为表示层,业务逻辑层,数据处理层。

那么为什么我们要用这么多分层呢,原因只有一个,就是为了减少代码耦合度。


想象一下你将一大堆的数据库操作和复杂的业务逻辑,在和界面混杂在一起,你会怎样,即使在前期开发中你感觉还不错,但是后期的维护呢,如果达不到人码合一,我估计修改的人肯定会暗暗骂你,真尼玛坑爹呀!抓狂


有了3层模式,表示层只负责和界面上的交互操作,复杂的业务逻辑交给业务逻辑层去处理,相应的数据在进过业务逻辑层之后在传递给数据访问层,这样感觉整个思路非常的清晰,感觉界面欠佳,我该表示层,感觉需要添加业务逻辑,我就直接操作业务逻辑层,这样也满足我们的各大软件设计原则,给软件的后续维护带来了方便,所以大家在编写代码的时候,一定要整理好自己的思路,不要将复杂的代码混杂在一起,否则有一天你真的会被骂坑爹啊大笑


编程是一种技术,更是一种艺术。艺术的底层就是我们现在看的这些设计模式和设计原则。如果你不想当一个码农,而是想真正的当一个艺术家,那么请和Darren一起来从底层来学习这些基本工,编码让生活更精彩。


奋斗奋斗奋斗奋斗奋斗奋斗奋斗奋斗奋斗奋斗奋斗奋斗奋斗奋斗奋斗奋斗奋斗奋斗


什么都会变,唯有这些底层的知识不会变,所以你现在投资时间来学设计模式,不敢说绝对对你有帮助,但是我想他会改变你对编码的看法,甚至对生活的看法,最近再听猫扑网络电台,感觉很不错,谁说程序员只能整天敲代码,我们也可以找时间去接触一下外面的新奇事物,听听大家都在说什么,听听大家背后的故事,我一直都以聆听者的态度去面对这个社会,因为我知道,在你没有成功之前,没有人愿意是你的聆听者,或者你说的话根本起不到什么影响力,所以在没有成功之前我选择去聆听,听听大家的想法,重中揣摩出新的思想,这样就为我的成功又积攒了一块砖,不要怕现在失去什么,我只看好我以后能得到什么!

害羞以上纯属个人观点,有不同观点的还请多多包涵...微笑

哈哈,今天的设计模式比较简单,顺便聊聊Darren对编码的看法以及对人生的看法,希望大家以后能多多给Darren提问题,当然大家有好的想法和建议也可以提出来,大家一起讨论。我想和各位成为朋友。微笑


天色已晚,大家都洗洗睡吧,新的一天,让我们用满怀的激情去迎接它...再见



www.tianboo.net


分享到:
评论

相关推荐

    Darren设计之美,设计模式应该怎么学习

    Darren设计之美

    essayJoke-1:红橙Darren仿写内涵段子

    essayJoke 红橙Darren仿写内涵段子

    Darren-s-project

    Darren-s-project

    darren_comm:通用代码

    darren_comm 通用代码

    darren9080.github.io

    darren9080.github.io

    Learn_darren_eassy_joke

    Learn_darren_eassy_joke

    A Practical Guide to Computer F - Darren R. Hayes

    电子取证行业一部知识点全面的书籍,适合电子取证不同阶段的人员阅读

    Darren-greenhand.github.io

    Darren-greenhand.github.io

    《AJAX实战》

    内容提要 本书是目前Ajax领域最为全面深入的一本著作,其中不仅有对于基础知识的介绍,还有对于Ajax开发中重大的体系架构问题的深入探讨,总结了大量Ajax开发中的设计模式,并讨论了框架、安全性与性能等等。...

    The-Compound-Effect-By-darren-Hardy.pdf

    This powerful, practical book, based on years of proven and profi table experience, shows you how to leverage your special talents to maximize the opportunities surrounding you. The Compound Effect is...

    通讯录-快读滑动

    这是一个类似通讯录,使用的是AlphabetIndexer快读定位

    深入解析Spring+MVC与Web+Flow.pdf

    《深入解析Spring MVCgn Web Flow》还介绍了Spring 框架的设计模式,以及如何将同样的设计和技术应用到读者自己的代码中。 《深入解析Spring MVCgn Web Flow》适合各层次Spring Web 程序员阅读。 编辑推荐 《深入...

    Ajax实战中文版

     《Ajax实战》是目前Ajax领域最为全面深入的一本著作,其中不仅有对于基础知的的介绍,还有对于Ajax开发中重大架构问题的深入探讨,总结了大量Ajax开发中的设计模式,并讨论了框架、安全性与性能等。书中提供了几个...

    下拉刷新ScrollView

    可以下拉刷新的scrollView,代码可以运行注释也很详细,是个不错的资源

    darren_budget_tracker

    单元18 PWA作业:在线/离线预算跟踪器 向我们现有的Budget Tracker应用程序中添加功能,以允许脱机访问和功能。 无论有没有连接,用户都可以在他们的预算中增加支出和存款。 脱机输入事务时,它们应在重新联机后...

    Petful-Client-Marina-Darren

    小巧的客户端应用概括Petful是另一种动物庇护所。 宠物应用程序的访问者只能收养在那里逗留时间最长的狗和/或猫。 领养宠物后,下一个可用的宠物将变为可用。科技栈该应用是使用React.js,Redux,Node.js和Express...

    honours_project:达伦·拉利(Darren Lally)的荣誉项目,学生编号

    honours_project Darren Lally的Honors项目,学生编号:S1622370-该项目是使用Django Web Framework开发的。 项目名称:调查哪些因素有助于使用Python和Django-FrameworkSwift发展,而不是使用PHP来开发Web应用程序...

    EssayJoke:内涵段子

    内涵段子本项目是仿照内涵段子进行编写的,在【红橙Darren】的视频指引下,学习到很多基础知识和框架搭建以及设计模式等知识。baselibrary(底层)这一层主要是进行一些底层共有的类。包括:数据库处理框架权限处理...

    操作系统实验 模拟软件

    操作系统实验的模拟软件 VC++编写 需要源代码请另行索取

    apache-esntls:Darren James Harkness的“ Apache Essentials”源代码-apache source code

    该存储库随附Darren James Harkness的 (Apress,2004年)。 使用绿色按钮将文件下载为zip格式,或使用Git将存储库克隆到您的计算机上。 发行版 版本v1.0对应于已出版书籍中的代码,没有更正或更新。 会费 请参阅...

Global site tag (gtag.js) - Google Analytics