![]() |
1
1
这里的字典几乎是一种原始类型;它用于存储键值对,而不是其他(?)。我看不出你需要把它换成不同的实现,这也是IOC有用的地方。 作者在IOC中更有意义(你做到了):我可以看到以后需要以xml或字符串等形式输出。 在“责任太多”方面。根据您描述此类功能的句子,1)检测特殊属性,2)呈现一些js。这里可能存在分裂的可能性。如果这个类只是检测到属性并在C#对象中返回那些检测到的属性,该怎么办。然后其他一些类,可能是JavascriptRenderer,可以接受这些属性并转换为javascript。
我也经常发现自己对不遵循编码原则感到偏执。在这个时候,我只是尽我最大的努力。当原则显而易见或有用时,我会运用原则,但当我不确定时,我会尽量不太担心,继续前进。我安慰自己,当代码变得难以处理时,我可以回去重构。 |
![]() |
2
1
单一责任原则定义如下:
因此,这一切都是为了找到正确的措辞。然而,原因只有在上下文中才有意义,换句话说,在特定的抽象层次上。通过移动抽象层次,代码改变了其对单一责任原则的一致性。 您的经验可能与这样一个事实有关,即您对所使用的框架的知识有所提高,因此您的理解正在转向更具体的抽象(接近框架内部)。在这个级别上,您的代码做得太多了(因为您预见到了许多需要更改的原因)。做一个心理练习,尝试转移到应用程序的抽象,它做什么,为什么做,并重新评估与SRP的一致性。 |
![]() |
Alex Pander · cleaner代码的嵌套命名空间[已关闭] 6 年前 |
![]() |
Jamil Noyda · 导入模块的最佳方式Python[复制] 6 年前 |
![]() |
Samselvaprabu · 我们是否需要不惜任何代价避免重复? 6 年前 |
![]() |
user9549524 · 基于一列的值从二维矩阵中提取值 7 年前 |
![]() |
MedAl · 不使用try/catch处理异常 7 年前 |
![]() |
Declan McKenna · 特殊情况模式在Swift中是否多余? 7 年前 |