zoukankan      html  css  js  c++  java
  • Software--Architecture--DesignPattern IoC, Factory Method, Source Locator

    2017-12-27  11:13:24

    一: Factory Method , Source Locator , IoC

    1. Factory Method 模式自身的缺陷在于:当引入越来越多的依赖关系(因而有更多创建服务的方式)时,

    为了适应不同的 xxxService 依赖组合,该类上的方法数目也将随之增加。

      工厂的客户代码与 xxxService 的单个实现紧密耦合在一起,如果客户所需的 xxxService 类的类型发生变动,

    就需要对调用的工厂类方法进行修改。

    2. Source Locator作用是充当一个集中化的服务资源库,有一个简单的接口,该接口了解如何获取应用程序所需的任何服务。

      Service Locator 提供方法来注册服务,通常每项服务拥有一个字面值名称或拥有一个对象类型可用来解析这些服务。

      Service Locator 不是为服务的不同变种来定义大量的不同工厂方法,而是有一个 Resolve 方法可用来获取给定键的服务。

      与Factory Method 模式类似, Service Locator 模式隐藏了把服务所需的依赖对象连入服务的复杂性,

      不同之处在于其抽象程度要比 Factory Method 模式更高。

      

    3.  IoC 容器

      以上二者的共同点是:客户代码负责获取或取回服务以及它的所有依赖关系。Factory Method 模式和 Service Locator 模式

    虽然不需要客户代码知道如何构造服务,但仍然要求客户代码指定需要哪一个服务实现。

      IoC 容器所做的就是完全将这种关系倒置过来,将服务注入到客户代码中。

      使用 IoC容器时,客户代码能够只依赖接口或抽象类,而不关心在运行时由谁来提供具体实现。

    ModelRegistry 经过简单的设定,当向其询问特定的类型时它将返回一个具体的实现。

    然后在 ConfigureStructureMap 方法中利用 StructureMap 框架来初始化 Registry.

    也有其他方法  通过特性 或者 XML 文件来配置。

    在启动是配置依赖关系,向 global.asax 文件,在 Application_Start 事件中添加调用 ConfigureStructureMap 方法。

     

    自动解析

  • 相关阅读:
    2-sat问题,输出方案,几种方法(赵爽的论文染色解法+其完全改进版)浅析 / POJ3683
    hdu 4587 2013南京邀请赛B题/ / 求割点后连通分量数变形。
    最小费用最大流粗解 poj2516
    hdu3078 建层次树+在线LCA算法+排序
    hdu 3594 Cactus /uva 10510 仙人掌图判定
    有向图最小路径覆盖方法浅析、证明 //hdu 3861
    hdu 1827 有向图缩点看度数
    条件转化,2-sat BZOJ 1997
    2-sat基础题 BZOJ 1823
    2-sat 分类讨论 UVALIVE 3713
  • 原文地址:https://www.cnblogs.com/masterSoul/p/8125737.html
Copyright © 2011-2022 走看看