• [Study Note] Patterns in Practice 20100403


    [Object Role Stereotypes]

    Responsibility-Driven Design

    CRC Cards, Class or Candidate/Responsibility/Collaborators

    Responsibility-Driven Design (RDD)

    Objects are not just simple bundles of logic and data. They are responsible members of an object community.

    Stereotype Description
    Information Holder Knows things and provides information. May make calculations from the data that it holds.
    Structurer Knows the relationships between other objects.
    Controller Controls and directs the actions of other objects. Decides what other objects should do.
    Coordinator Reacts to events and relays the events to other objects.
    Service Provider Does a service for other objects upon request.
    Interfacer Objects that provide a means to communicate with other parts of the system, external systems or infrastructure, or end users.

    Information Holder

    Money pattern/Whole Value

    The entity and value objects in a rich domain model are a common example of information holders.

    designing around behavior rather than designing from a data-centric viewpoint.

    Structurer

    The job of a structure is to track, store, and maintain relationships between objects.

    Dictionary<T, U>

    keep the structurer’s responsibility completely separate from the business processes that consume the objects held by the structure.

    Service Provider

    A service provider knows how to perform a task on behalf of another object, but it’s generally passive while it waits to be activated by some other class.

    Interfacer

    Facade pattern

    The interfacer role is effectivel a mediator used to  simplify communication with another system or subsystem.

    Coordinator

    A coordinator reacts to events and relays commands to other objects.

    Controller

    A controller object directs the actions of other classes. A controller is differentiated from a coordinator by the level of control.

    Using Object Role Stereotypes Effectively

  • 相关阅读:
    UITableView全面解析
    UITableView传值(自己使用)(属性,代理传值)
    页面之间传值(单例传值)(自己使用)
    带导航栏的最简单多视图
    UIscrollView和UIPageControl的循环滚动
    UIPickerView简单应用
    自定义进度条(菜鸟版)
    UISegmentedControl(人物简介)
    UI控件闪灯
    关于NSCELL
  • 原文地址:https://www.cnblogs.com/zhaorui/p/1703942.html
Copyright © 2020-2023  润新知