zoukankan      html  css  js  c++  java
  • [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

  • 相关阅读:
    Win7升Windows10有获取通知,但是就不推送的解决方法
    使用git@osc管理现有项目
    暗黑符文之语1.10
    springcloud干活之服务消费者(feign)
    springcloud干货之服务消费者(ribbon)
    springcloud干货之服务注册与发现(Eureka)
    java对redis的基本操作
    微信公众号开发模式中文乱码
    Java 验证代理ip
    maven将项目及第三方jar打成一个jar包
  • 原文地址:https://www.cnblogs.com/zhaorui/p/1703942.html
Copyright © 2011-2022 走看看