zoukankan      html  css  js  c++  java
  • 五、SPR 单一职责

    1.一个类具有什么职责,应该是站在他人的角度或者说是使用者的角度来定义。职责不是一件事,而是许多和职责相关的事组成的。

    例如:一个快递员,除了送快递,还需要做分包、收款。那么快递员的职责是和快递相关的一系列的事。快递员不能说我还可以有做饭。作为快递员的使用者,只希望你能处理好他的快递,并不会希望你还会做饭。那么如果快递员类中还有做饭的方法,那么这个类的职责就不单一了。所以,单一职责可以看作:一个类只负责一组相关的事情。

    2.SPR原则主要是用来指导基础类的设计,并不适用于指导设计聚合类,聚合类本身就是违反单一职责原则的。

    例如:办公一体机,有打印、复印、扫描、传真4个功能。这四个从职责上是完全不同的四个,但并不符合SPR原则。那我们要不要设计办公一体机类?肯定是要设计的,但是不能用SPR原则来约束。而是应该根据4个职责,分别设计4个基础类,然后去聚合成一个办公一体机聚合类。设计模式中的概念即“优先使用组合,而不是继承”。

  • 相关阅读:
    C/S 与 B/S 区别
    XE2的一些新东西
    Versant数据库实验
    概率算法sherwood算法
    组合数学引论部分习题答案
    概率算法n皇后的LV算法
    概率算法Las Vegas
    小型企业库存管理系统的设计与实现
    概率算法Numerical和Monte Carlo
    我的彩票梦十一运夺金模拟程序
  • 原文地址:https://www.cnblogs.com/mysic/p/8619867.html
Copyright © 2011-2022 走看看