我经常看到人们说某些软件“非常固执己见”或者微软倾向于编写“不固执己见”的框架。这实际上意味着什么?
最佳答案
如果一个框架固执己见,它就会锁定或引导你采用他们的做事方式。
例如:有些人认为模板系统不应该提供对用户定义的方法和函数的访问,因为它使系统对返回原始 HTML 保持开放。因此,固执己见的框架开发人员只允许访问数据结构。按照设计,该软件会限制并鼓励设计者按照自己的方式做事。
另一个例子 ( taken from the signals link ) 是 wiki 。维基的设计者有很多意见。他们认为 HTML 太复杂,人们无法编写,因此他们想出了一种他们认为更自然的更新内容的方式。他们还剥夺了它的花哨设计,因为他们认为重点应该更多地放在内容而不是设计上。
Apple 在设计产品时有强烈的意见。
非固执己见的软件设计更像是 PERL/PHP。它允许开发人员并信任开发人员做出正确的决策,并将更多的控制权交给他们。
我还将微软归入“无主见”一栏。一个非固定的 Microsoft 框架的好例子:.NET
。通过开放 CLR 和规范,它向各种语言和实现风格开放。
关于architecture - 什么是自以为是的软件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/802050/