MVC、单例、工厂

本文详细介绍了MVC模式的核心要点,包括模型的观察者模式、控制器作为视图的策略以及视图的组合模式。通过例子阐述了控制器在实际项目中的作用,解释了为何不应将控制逻辑放在视图中,以保持解耦和增强设计弹性。此外,还讨论了单例模式的实现方式和适用场景,以及工厂模式如何封装对象创建并区分了抽象工厂和工厂方法模式。
摘要由CSDN通过智能技术生成

 MVC要点:

1、MVC是复合模式,结合了观察者模式、策略模式和组合模式。

2、模型使用观察者模式,以便观察者更新,同时保持两者之间解耦。

3、控制器是视图的策略,视图可以使用不同的控制器实现,得到不同的行为。

例如,如果聊天在机器人端,我们使用语音控制器,可以处理语音输入。

        在客户端,我们使用文字控制器,可以处理文字输入。

4、视图使用组合模式实现用户界面,用户界面通常组合了嵌套的组件,像面板、框架和按钮。

5、适配器模式用来将新的模型适配成已有的视图和控制器。


在我现在写的一个项目中:

View:包括机器人、网页(用于管理多媒体内容)、客户端。

Controller:WebSocket与View建立长连接,它会接受视图的请求handleTextMessage(),并转发给模型。处理结果是以JavaBean的形式打包。session.sendMessage(textMsg);

Model:处理 HttpServletRequest req.getAttribute("message")得到的消息,将其打包成JavaBean的形式进行处理,处理完后通知View更新视图。

问:控制器所做的事情就是把用户的输入从视图发送给模型,对不对?

答:不对,控制器做的事情不只有“发送给模型”,还会解读输入,并根据输入操作模型。并将视图传过来的信息JSON串打包成一个javaBean。传给Model。

问:为何不把这样的代码放到视图中?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值