约定优于配置不利于松耦合?
许多程序员似乎都遵守配置约定。 在 IoC 上下文中,这意味着使用 API 而不是 XML 配置。
当您必须引用包含抽象接口/类的具体实现的 DLL 来使用配置约定时,您应该如何保持 DI/IoC 背后的松散耦合思想?
Something a lot of programmers seem to be abiding by is Convention of Configuration. In the context of IoC this means using the API instead of XML configuration.
How are you supposed to keep the loose coupling idea behind DI/IoC when you have to reference the DLL containing the concrete implementations of the abstract interfaces/classes to use convention of configuration?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
通过代码 API 进行配置并不是“惯例”。 这是“配置”。
例如,约定优于配置意味着特定的应用程序框架(例如 Rails 或 CodeIgniter)可能要求将某些类型的代码放置在某些目录中。 您无需通过配置告诉应用程序框架这些文件的位置。
Configuring via a code API is not "convention." It is "configuration."
Convention over configuration means, for example, that a particular application framework (such as Rails or CodeIgniter) may require that certain types of code be placed in certain directories. You are not required to tell the application framework where these files are via configuration.
这意味着你必须平衡它们; 不要被非此即彼的想法所困。
另一方面,如果您确实需要配置文件,请不要认为它们必须是XML。 XML是一种相对重量级的表示形式; JSON、YAML 等广泛可用,并且对于大多数配置文件类型的存储来说更易于使用。
It means you have to balance them; don't get trapped by either/or thinking.
On the other hand, if you do need configuration files, don't be trapped into thinking they must be XML. XML is a relatively heavyweight representation; JSON, YAML etc is widely available and easier to use for most configuration file sorts of storage.