学会思考
刻意练习

通用责任链分配模式
专家模式 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类对象应该由谁来创建?
控制器创建业务对象

posted on 2017-09-12 23:11  Worty  阅读(219)  评论(0编辑  收藏  举报