三层架构总结
简述:
1、三层架构(3-tier architecture)
三层架构分为: 界面层、业务逻辑层、数据访问层,上层调用下层的方法,下层为上层提供服务。
2、工厂类
通过配置文件创建类的实例对象。
3、JDBC(java database connection)
由数据库厂商提供的java程序和数据库之间的连接。
详解:
1、 三层架构
目的:解耦
在项目中所有的操作都可以放在一个java文件中实现,但是这样的项目耦合度比较高,对项目进行后期维护所花费的时间比较多,一处的修改就有可能导致项目不能运行,项目的可读性也比较低。
思想:
将项目进行分层处理,将项目不同类型的操作进行划分。
层次划分:
1) 界面层(UI+Handler)
直接面向用户的是界面层,接收用户信息或者向用户展示信息。Handler对所接收的信息进行最基本的判断使之符合项目的基本要求,比如:使用者在进行用户信息注册的时候用户名不能为空,密码不能为空(如有规定至少有几位,则要进行判断)。展示用户信息时,界面层只需要调用下层方法获得数据,不需要关心数据的来源。
在界面层的逻辑很少,按需求判断即可,主要是面向用户的界面(UI),要对提示信息进行显示,不能向用户展示用户看不懂的提示信息。
2) 业务逻辑层(Service)
这里是项目的主要业务逻辑所处层次。在写本层的内容之前可以先定义本层的接口在实现类中重写(override)方法。在这里还要提到另一个层次:事务层,事务可以理解为对数据库进行的操作(在数据完成录入后进行提交,发现异常之后对数据库进行回滚)事务层主要负责事务的提交和回滚,由事务层去调用业务逻辑操作。
业务逻辑是程序所有者制定的(提供服务的公司)比如:提供服务的公司要求用户在注册用户名的时候,用户名不可以重复,等一系列要求
3) 数据访问层(Dao)
本层主要实现对数据库的原子操作,供业务逻辑层调用。在方法时最好先写接口,明确思路。
小结:在写三层架构时在Handler中先写方法 然后去Dao层中写接口并实现,最后在业务逻辑层中调用Dao层方法,实现Handler中的方法,这样写思路比较清晰(个人看法,不排除有更好的方法)
2、 工厂类
工厂类负责使用IO流读取配置文件,并且根据配置文件中的类名进行反射创建单例对象(即在项目运行时不管何处调用都会是同一个实例),在项目运行时实例已经被创建。
3、 JDBC
JDBC是java项目与数据库建立联系的途径,由数据库厂家实现以第三方jar包的形式使用。
JDBC一般在Dao层中使用,过程分为以下6步:1、注册驱动2、获得数据库连接3、获取状态集4、执行sql语句5、处理结果集6、关闭连接。