architecture - 什么是自以为是的软件?

标签 architecture language-agnostic terminology

我经常看到人们说某些软件“非常固执己见”或者微软倾向于编写“不固执己见”的框架。这实际上意味着什么?

最佳答案

如果一个框架固执己见,它就会锁定或引导你采用他们的做事方式。

例如:有些人认为模板系统不应该提供对用户定义的方法和函数的访问,因为它使系统对返回原始 HTML 保持开放。因此,固执己见的框架开发人员只允许访问数据结构。按照设计,该软件会限制并鼓励设计者按照自己的方式做事。

另一个例子 ( taken from the signals link ) 是 wiki 。维基的设计者有很多意见。他们认为 HTML 太复杂,人们无法编写,因此他们想出了一种他们认为更自然的更新内容的方式。他们还剥夺了它的花哨设计,因为他们认为重点应该更多地放在内容而不是设计上。

Apple 在设计产品时有强烈的意见。

非固执己见的软件设计更像是 PERL/PHP。它允许开发人员并信任开发人员做出正确的决策,并将更多的控制权交给他们。

我还将微软归入“无主见”一栏。一个非固定的 Microsoft 框架的好例子:.NET。通过开放 CLR 和规范,它向各种语言和实现风格开放。

关于architecture - 什么是自以为是的软件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/802050/

相关文章:

asp.net - 编辑和创建表单应该是同一个吗?

stack - Push 和 Pop 对堆栈意味着什么?

url - 正确的 "base path"术语

java - super 和覆盖的问题 - 更好的方法吗?

architecture - PHPUnit:多个 Bootstrap 或 XML 文件?

algorithm - 找到隧道 'center line' ?

algorithm - 找出所有可能的数字组合以达到给定的总和

logging - 记录和打印到控制台有什么区别

Hibernate/JPA 的 Java 配置?

language-agnostic - 断言()与强制(): Which to choose?