博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式--通用责任链分配模式
阅读量:5239 次
发布时间:2019-06-14

本文共 716 字,大约阅读时间需要 2 分钟。

通用责任链分配模式

专家模式 Expert Pattern (information Expert Pattern)
软件设计或者代码开发中,请求的处理行为应该赋予信息专家对象
信息专家对象指具有处理业务请求所需要的信息数据的对象
信息专家对象可能会承担过多的职责
例子:
登录请求的密码验证业务应该由谁来做,User类还是Controller类?
注意:不要破坏类的封装性;
好处是保证类的封装性,以及行为的正确分发;
在代码设计或者实现时,如何正确的将行为分配给某一个对象或者类?

控制器模式 Controller Pattern

接收业务请求,并将请求分发至业务处理对象
接收业务请求处理结果,并将结果分发至响应页面
好处或者缺点:
1)控制器对象可能会承担过多的职责
例子:
登录请求应该由谁来接收?Viewer
登录请求应该由谁来处理业务实现?Model
请求结果应该谁来响应?Controller
MVC :
M:Model (业务模型)
C:control即控制器对象(负责逻辑分发)
V:Viewer

创建者模式 Creator Pattern

软件代码开发中,如下情况中,A类对象应该是B类对象的创建者:
1)A类对象是B类对象的聚合体
2)A类对象包含B类对象
3)A类对象使用B类对象
4)A类对象记录B类对象状态
5)A类对象拥有创建B类对象的数据/信息

同一个对象可能会有不同的创建行为,会产生创建行为的不一致;

例子:

在登录密码请求验证业务的User类对象应该由谁来创建?
控制器创建业务对象

转载于:https://www.cnblogs.com/hujianglang/p/7512759.html

你可能感兴趣的文章
Hibernate-缓存
查看>>
【BZOJ4516】生成魔咒(后缀自动机)
查看>>
提高PHP性能的10条建议
查看>>
svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法...
查看>>
熟用TableView
查看>>
Java大数——a^b + b^a
查看>>
poj 3164 最小树形图(朱刘算法)
查看>>
百度贴吧图片抓取工具
查看>>
服务器内存泄露 , 重启后恢复问题解决方案
查看>>
ajax post 传参
查看>>
2.1命令行和JSON的配置「深入浅出ASP.NET Core系列」
查看>>
android一些细节问题
查看>>
KDESVN中commit时出现containing working copy admin area is missing错误提示
查看>>
利用AOP写2PC框架(二)
查看>>
【动态规划】skiing
查看>>
java定时器的使用(Timer)
查看>>
Android实现静默安装与卸载
查看>>
ef codefirst VS里修改数据表结构后更新到数据库
查看>>
boost 同步定时器
查看>>
[ROS] Chinese MOOC || Chapter-4.4 Action
查看>>