模式在软件的设计和开发中是一个重要的工具。在软件开发的许多领域都存在模式——例如,设计模式、架构模式、分析模式、软件组织模式和教学模式。
架构模式的分类是按照弗兰克·布施曼(Frank Buschmann)的四类系统进行的。其基本概念是以模式所解决的问题作为分类的基础。
四类系统分别为:
- 适应性系统
- 交互系统
- 从混沌到结构
- 分布式系统
适应性系统
此类别中的模式支持应用程序的扩展以及它们对不断发展的技术和不断变化的功能需求的适应。
依赖注入
在面向对象设计中,由于需要创建一个抽象接口的具体实例,经常会出现问题。
• 谁管理所使用实例的生命周期?
• 谁决定在运行时最终实例化哪个具体的类?
为此,此模式提供了一个独立的构建块,即:装配器。
装配器在运行时确定如何解决上述问题。装配器将依赖对象的特定实例的引用传递过去。它可以被视为一种“通用工厂”。
它首先检查 ServiceUser 对于必要的依赖项(Service),并通过元信息生成或确定提供所需服务的 ServiceImplementation。然后,