是否违反单一责任原则

本文关键字:责任 原则 单一 是否 | 更新日期: 2023-09-27 18:18:14

我有一个类,它添加了一些功能到windows窗体文本框。例如,它处理文本框按下键事件,并基于某种逻辑,如果按下"Enter",则显示一个特殊的网格,让用户从大量实体中选择一个实体。所以我称这个类为Textbox Extender,而文本框为Extended。

现在,我想让用户知道是否一个文本框被扩展通过改变它的背景颜色,很容易将这个功能添加到类BUT:我很怀疑这违反了单一责任原则。有任何想法都非常感谢。

是否违反单一责任原则

这不是反对ssr。你的类的职责是扩展文本框的功能。

单一职责原则说你的类应该只完成一个目的,你的类的目的是什么?我会说它是显示一个扩展的文本框(并获得它的数据,你不能在其他地方做),如果你的UI改变告诉你的用户,他们现在有一个扩展的文本框,一切都是好的,没有违反SRP。无论如何,从UI对象中封装UI似乎有点过于工程了。