我经常看到人们说某些软件“非常固执己见”或者微软倾向于编写“不固执己见”的框架。这实际上意味着什么?
如果一个框架固执己见,它就会锁定或引导你采用他们的做事方式。
例如:有些人认为模板系统不应该提供对用户定义的方法和函数的访问,因为它使系统对返回原始 HTML 保持开放。因此,固执己见的框架开发人员只允许访问数据结构。从设计上来说,该软件会限制并鼓励设计师按照自己的方式做事。
另一个例子 (取自信号链接 http://gettingreal.37signals.com/ch04_Make_Opinionated_Software.php)是wiki http://c2.com/cgi/wiki。维基的设计者有很多意见。他们认为 HTML 太复杂,人们无法编写,因此他们想出了一种他们认为更自然的更新内容的方式。他们还剥夺了它的花哨设计,因为他们认为重点应该更多地放在内容而不是设计上。
苹果在设计产品时有强烈的意见。
无主见的软件设计更像是 PERL/PHP。它允许开发人员并信任开发人员做出正确的决策,并将更多的控制权交给他们。
我还将微软归入“无主见”一栏。微软框架的一个很好的例子是非固定的:.NET
。通过开放 CLR 和规范,它向各种语言和实现风格开放。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)