zoukankan      html  css  js  c++  java
  • 设计模式--通用责任链分配模式

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

    怕什么真理无穷,进一寸有一寸的欢喜。---胡适
  • 相关阅读:
    关于全景漫游
    webgl圈中物体
    css3の极限
    reactjs弹幕视频播放
    数值积分I
    显出你的h5逼格
    奇葩のbeforeunload
    面试问题搜集及解析
    TCP拥塞控制(滑动窗口机制)
    如何使CPU占用率为50%
  • 原文地址:https://www.cnblogs.com/hujianglang/p/7512759.html
Copyright © 2011-2022 走看看