通用责任链分配模式
专家模式 Expert Pattern (information Expert Pattern)软件设计或者代码开发中,请求的处理行为应该赋予信息专家对象信息专家对象指具有处理业务请求所需要的信息数据的对象信息专家对象可能会承担过多的职责例子:登录请求的密码验证业务应该由谁来做,User类还是Controller类?注意:不要破坏类的封装性;好处是保证类的封装性,以及行为的正确分发;在代码设计或者实现时,如何正确的将行为分配给某一个对象或者类?控制器模式 Controller Pattern
接收业务请求,并将请求分发至业务处理对象接收业务请求处理结果,并将结果分发至响应页面好处或者缺点:1)控制器对象可能会承担过多的职责例子:登录请求应该由谁来接收?Viewer登录请求应该由谁来处理业务实现?Model请求结果应该谁来响应?ControllerMVC :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类对象应该由谁来创建?控制器创建业务对象