• 机房重构包图(从三层+实体到三层+实体+外观+工厂+接口+SQLHelper)


        刚刚開始接触三层的时候,我仅仅做了两个登录小窗口的样例。画了简单的包图,能够说,为后面机房重构留下了大量的工作(由于三层理解没有深度,也没有理解出自己的东西)。只是。欠下的总要还的。

    在做机房重构的时候,问题出现了。

    假设仅仅用三层+实体。我能做出来。可是,要求重构不能仅仅用三层+实体,那么,就要好好分析一下了。

        首先说说三层+实体:就是表现层(U层)直接调用业务逻辑层(B层)的逻辑。业务逻辑层在直接訪问数据层(D层),在把数据返回到B层后返回到U层。首先,仅仅用三层+实体做程序时,灵活性不够高。假设想换数据库的话。须要大量修改B层的代码。

    其次,代码利用率不高,像訪问数据库的一些代码,多次反复。

        既然不好,就有必要寻找新的方法。B层直接訪问D层不好。怎么办呢?用接口。这样,假设更换数据库。仅仅要把D层进行改动或者在连接新的D层,而不用更改B层的代码了。实现“高内聚。低耦合”。

    U层直接訪问B层,U层须要知道B层的就太多了。耦合性太高。我们的系统简单。一个上机窗口里面就两个主要功能,可是一个窗口上面内容多的话,那U层和B层的相应关系不是非常乱了么?这时外观就出动了。

    假设U层通过外观訪问B层的话。能够避免这一问题。

        那么,又为什么要使用SQLHelper呢?事实上,SQLHelper是一个工具。主要是为了规范代码和降低代码编写,假设想了解很多其它,能够參看还有一篇博客:SQLHelper

        以下是我画的由三层+实体到三层+实体+外观+接口+工厂+SQLHelper的包图,欢迎指正


        小结:首先,不管在学什么知识的时候,即使非常easy,也要小结几句,否则下次想用时,无从下手。三层就是个活样例。其次,多请教,多交流。对于不会的东西。勤于动手。等待是解决不了问题的。

    再次,对于三层这块,仅仅要通了,感觉就好多了。刚刚開始做包图的时候,真的是无从下手。即使给你现成的图,也会有看不懂以及为什么会是这个样子的疑问(我相信不止我自己有这样的感觉)。

    我建议,假设出现这样的情况,先放一放图,试着通过代码,了解一下这个过程,尽管可能有点难度。可是总比停下来或者揪住一点不放要好的多。

                                                                                                            PS:欢迎指正,不胜感激!

  • 相关阅读:
    动态第K大 (树状数组套主席树)
    AC自动机
    开发Jquery插件文字自动截取(提供源代码)
    基于CentOS 5.5,集成LAMP、LNMP精简定制版应用服务器
    MySQL中的mysqldump命令使用详解
    开源CRM和ERP撑起后台系统能走多远
    squid,正向代理,反向代理
    linux架设subversion(svn)版本控制
    浅谈php的urlencode()函数
    读《MYSQL开发者SQL权威指南》笔记
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7285554.html
Copyright © 2020-2023  润新知