在计算机编程和设计中,单一责任原则是一个概念,它支持这样一种观点:程序中的任何类在更大的应用程序中只应执行一个功能。这一思想部分地促进了面向对象编程的一些理念,如封装,因为一个完整的类将专注于执行一个单一的职责...
在计算机编程和设计中,单一责任原则是一个概念,它支持这样一种观点:程序中的任何类在更大的应用程序中只应执行一个功能。这一思想部分地促进了面向对象编程的一些理念,如封装,因为一个完整的类将专注于执行一个单一的职责,并且几乎不依赖于外部的类。同时,它与早期面向对象编程的一些概念有些背道而驰,因为单个对象的功能与该对象正在处理的数据是解耦的,这意味着可能需要构建许多组合对象来维护一些中心数据。单一责任原则是一种被称为责任驱动设计的设计模型的基础。女性与计算机进行倒立时,单一责任原则的示例可以采用传统的形式电话听筒。一些设计原则将听筒视为一个单独的对象,它处理来自电话线的输入和扬声器输出的传输。在单一责任模型下,单个对象只应具有单一责任,然后,手机将由几个单独的对象组成,每个对象执行一个功能,例如只接收来自电话线的输入,或者只通过听筒输出数据。使用单一责任原则的优势之一是高度抽象和模块化,无论是从电话线输入还是信号输出到用户的方式都可以改变,而不影响相邻的类,只要它们遵守相同的接口契约此外,某些组件的可重用性非常高,因为每个类都是完全封装的,并且几乎不依赖于周围的对象(如果有的话),而只关注其一个职责。单一责任原则可能会造成大量的类和对象都在运行在相同的数据上。这可能意味着大量的开销和复杂的设计过程,也可能使调试一个大型程序变得困难,因为程序的单个部分可能包含数千个小类文件。当通过责任驱动设计应用单一责任原则时,为了设计的目的,将数据和用于操作数据的方法分离开来,这在设计上确实带来了一定的自由度、封装性和模块化,它还可以生成许多中间模式和设计,这些模式和设计必须用于帮助许多类同时尝试与数据交互。另一方面,如果一个对象的数据和用于操作它的方法都绑定在一个单一的多职责对象中,则代码可能会变得更难随着系统的扩展、变化或变得更复杂而进行修改
-
发表于 2020-08-07 15:25
- 阅读 ( 685 )
- 分类:电脑网络