代码改变世界

.NET设计规范-笔记-1

2011-09-21 23:28  步丈天涯  阅读(351)  评论(0编辑  收藏  举报

1.Qualities of a Well-Designed Framework:

  1.1 Simple

    You can always add;you cannot ever remove.

  1.2 Expensive to Design

    Framework design should be explicit and distinct in the development process.

    It must be explicit because it needs to be appropriately planned,staffed,and executed.

    It must be distinct because it cannot just be a side effect of the implementation process.

    Mixing the responsibilities is a mistake and leads to designs that expose implementation details,which should not be visible to the end user of the framework.

    API design process has to be separate from the implementation process.

    API design process has to be incorporated in every part of the product cycle: 

      a)The planning phase:what are the APIS our customers need?

      b)The design process:what are the functionality trade-offs we are willing to make to get the right framework APIs?

      c)The development process:have we allocated time to try to use the framework to see how the end result feels?

      d)The beta process:have we allocated time for the costly API redesign?

      e)Maintenance:are we decreasing the design quality as we evolve the framework?

  1.3 Full of Trade-Offs

  1.4 Borrow from the Past

  1.5 Designed to Evolve

    It's better to move a complete feature to the next release than do it halfway in the current release.

  1.6 Integrated

  1.7 Consistent

  1.8 Testable