三层架构MVC


属于一种架构理念,在大多数语言里面都有这个架构模式,并不是java特有的;
M:(model)模型,用于封装数据,传递数据,处理业务逻辑(文件的操作)
V:(view)视图,主要用于数据的现实或者数据的获取,客户看到的页面;
c:(controller)控制器,主要用于获取用户数据,发送数据给视图,只负责调用业务方法,不负责业务处理;
java中
model——》javabean
view——》JFrame(html)
controller——》监听器
三层架构
什么是三层架构?为什么要使用三层架构?区分三层架构和两层架构?
什么是三层架构?
对系统惊醒架构的规范,把整个系统分成三部分,式设计模式里面的一种;
在生活中,客户——》服务员——》厨师——》采购;服务员——表示层;用于显示数据,获取用户输入的数据;厨师——业务层;用户处理业务逻辑,厨师只负责炒菜完成业务(功能);采购——数据访问层:负责对数据进行持久化,保存或者获取数据;
三层架构就是为了让系统分工明确,各司其职,来源于生活;
在java开发中:
表示层(UI层):主要是指用于交互的界面,用于接受和现实数据;
业务层(service):主要是连接表示层和数据访问层,处理业务逻辑包括、验证、计算、业务规则等等;
数据访问层(数据持久层DAO): 与数据库或者文件打交道,主要试下对数据的增删改查;将数据库的数据提取出来传递给业务层,或者将业务层的数据保存到数据;
实体层(域模型层):串联三层,做一个数据的传递,不属于任何一层,单独的一个概念;

三层架构即:表现层、业务层、持久层。每一层完成即定的功能,层与层之间用接口做耦合。每一层的组件可以单独测试,当其中一个组件更换或修改后,不会影响别的层的组件。

持久层:用于完成数据库相关的操作。采用DAO模式,创建实体类和数据库表做映射,也就是哪个类对应哪个表,哪个属性对应哪个列。而持久层的目的就是完成对象数据和关系数据的转换。

业务层:用于业务处理。采用事务脚本模式。将一次请求中所有的业务封装成一个方法,保证方法中所有的数据库更新操作同时成功,同时失败。不允许部分成功,部分失败,这样引起数据混乱的情况发生。

表现层:采用MVC模式。M表示模型,就是实体类,用于数据的封装和数据的传输。V表示视图,用于展示数据和接收数据。C表示控制,用于调用业务组件,完成业务流程的控制


(Entity)业务实体,作用:
1.体现了面向对象的封装思想;2.贯穿于三层,在三层之间传递数据;3.对于初学者来说,可以这样说:一张表就应用一个实体;数据库里面的数据,在代码里面用尸体来进行封装;数据库里面的每一行数据,都可以对应一个实体bean;4.简化了我们传递数据的方式,传递数据可以是变量,如果参数太多,建议封装成实体bean;
开闭原则:
开闭原则是面向对象复用设计的一个模块;
表示一个软件在开发的过程中,对修改进行关闭,应该对软件对扩展功能进行开发,扩展功能前提在不改变原来代码的基础上;
依赖倒转
抽象不应该依赖于细节,换句话说我们要针对于接口进行编程,而不是实现类;1.高层模块不应该依赖于底层模块;2.抽象不应该依赖于细节(子类)3.细节应该依赖于抽象;模块间的依赖是通过抽象发生的,如:Driver d=new Driver(); 表示实现类和实现类发生了关系;在设计的过程中,实现类不应该依赖于实现类,应该依赖于接口;面向接口编程;优点:采用依赖倒转可以减少类于类之间的耦合性(类和类之间的依赖关系),提高系统的维护性;可以减少并行开发引起的风险;
三层架构:
优点:
1.结构清晰,耦合度低;2.可维护性增加,可扩展性增加;3.利于开发任务同步进行;适应需求变化;
缺点:
1.降低了系统的性能,分层越多,效率越低;2.增加了代码量和工作量;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值