设计模式(六)J2EE 模式

前言

本章设计模式只挑了一些必要的加以讲解,因为有的设计模式过于简单或者根本用不到,可以不做了解。


MVC 模式

使用说明

MVC模式可以说是最有名的设计模式之一。它提出将软件的数据模型Model、视图Visual、控制器Controller三者分开封装,通过彼此间通信,实现软件功能。这样分的好处是程序结构清晰,便于开发维护。

例如,Qt中的窗口类属于C控制器,窗口类中的ui文件属于V视图,而Model数据模型交给用户实现。

再比如,Qt中的Model/View Programming,实现了Model、View的分离,而控制器C,可以由其所在窗口类实现。

此模式在很多软件的开发中都存在,影响巨大而深远。

使用场景

一般在既有交互,又有数据处理的软件系统中使用。

本质

MVC模式的本质是,它将一个软件系统总体分成了三个逻辑部分,这三个逻辑部分耦合小,可以独立封装。它是一种更加粗粒度的设计模式,也是非常常用的设计模式。


数据访问对象模式(DAO)

使用场景

把数据库操作封装成函数,上层业务使用者无需关心数据库操作细节。

本质

数据访问对象模式的本质是将数据库操作封装起来,将上层业务和底层数据操作解耦合。


拦截过滤器模式

使用场景

用于对应用程序的请求或响应做一些预处理/后处理,类似于Hook钩子。不过这里的钩子不是函数,而是对象。

使用说明

过滤器是埋在某些执行点的钩子对象,当外部的过滤器安装到指定位置以后,当程序执行到此位置,则会自动执行过滤器中的操作,实现了动态程序流程插入的效果,和钩子的效果一样。

过滤器需要通过安装、卸载接口实现动态添加删除。

Qt中使用此模式的部分有:Qt对象的QObject::eventFilter()虚函数,以及用于安装卸载的QObject::installEventFilter()函数。

本质

拦截过滤器模式的本质是,它封装了钩子操作,并通过安装卸载机制从指定调用位置动态增删。


结语

本章的设计模式较少,但是都比较常见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撬动未来的支点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值