zoukankan      html  css  js  c++  java
  • 机房重构包图(从三层+实体到三层+实体+外观+工厂+接口+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:欢迎指正,不胜感激!

  • 相关阅读:
    【转】php中XML、XSLT的结合运用
    【转】PHP 5.3 5.4 5.5 5.6特性
    Go语言的编程范式
    Appcelerator Titanium Studio: JNI_CreateJavaVM missing error
    良好Web系统架构的几个因素
    决定去掉博客中附加的多说评论
    用PHP实现Windows域验证
    Netbeans 8.0.1 坑爹请不要升级
    教程:30分钟学会Adobe Premiere
    完美:adobe premiere cs6破解版下载[序列号+汉化包+破解补丁+破解教程]
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7285554.html
Copyright © 2011-2022 走看看