zoukankan      html  css  js  c++  java
  • 通过实例来说明程序的耦合问题

    案例一:三层架构模式开发步骤 这里不会进行具体的数据库的操作
    选择新建一个空的工程 以后的spring代码都放到这里



    建立一个maven工程 这里只是用来进行模拟 所以我们不用导入任何jar包的坐标 当然可以加一个测试类的jar包坐标
    1、创建userdao接口类 在里面添加相应的抽象方法

    2、添加相应的实现类去实现这个接口中的方法

    3、创建一个service接口类 在类里面添加相应的业务

    4、添加service相应的实现类

    5、新建一个表现层usercontroller 在里面进行业务方法的调用

    最终执行测试方法 下面是测试的结果

    这里存在什么样的问题?注意下面图中红色标记的地方


    业务层中使用了持久层中的对象 表现层中使用了业务层中的对象 这明显就是代码之间的耦合 你中有我 我中有你

    案例二:jdbc连接
    首先 创建一个maven工程
    1、在pom.xml文件中导入驱动jar包坐标
    2、编写jdbc测试文件
    1)创建驱动
    2)创建连接
    3)创建preparestatement对象
    4)执行sql语句 返回结果集
    5)遍历集合
    6)关闭连接

    注意 红色标注的地方 是采用关键字new来进行了 这就会造成编译时的依赖 加入我们我们导入驱动包 那么就没有com.mysql.jdbc.Driver这个类 那么我们编译就不会通过
    那么我们通常不会去采取这种形式去创建驱动 我们会利用反射的形式

    注意红色标记的地方 这时候 我们就避免了编译时的依赖 加入我们不导入jar包坐标 这个时候编译时期是可以通过的 但是执行不了 这就是运行时的依赖

  • 相关阅读:
    timer使用方法
    基于开源库jsoncpp的json字符串解析
    jsoncpp构造json字符串和json数组
    通过wifi连接android设备的方法
    Linux 利用管道父子进程间传递数据
    Mac OS X 下部分Android手机无法连接adb问题之解决方案
    android studio 慢的问题
    forever让nodejs后台运行
    js里面如何才能让成员方法去调用类中其他成员
    让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求
  • 原文地址:https://www.cnblogs.com/phantom576/p/11956881.html
Copyright © 2011-2022 走看看