博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Software--Architecture--DesignPattern IoC, Factory Method, Source Locator
阅读量:5208 次
发布时间:2019-06-14

本文共 1026 字,大约阅读时间需要 3 分钟。

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 方法。

 

 

自动解析

 

转载于:https://www.cnblogs.com/masterSoul/p/8125737.html

你可能感兴趣的文章
NPM慢怎么办 - nrm切换资源镜像
查看>>
CoreData 从入门到精通(四)并发操作
查看>>
Swift - UIView的常用属性和常用方法总结
查看>>
Swift - 异步加载各网站的favicon图标,并在单元格中显示
查看>>
Java编程思想总结笔记Chapter 5
查看>>
[LeetCode]662. Maximum Width of Binary Tree判断树的宽度
查看>>
WinForm聊天室
查看>>
Python 从零学起(纯基础) 笔记(一)
查看>>
【Python学习笔记】1.基础知识
查看>>
梦断代码阅读笔记02
查看>>
Java 线程安全问题
查看>>
selenium学习中遇到的问题
查看>>
大数据学习之一——了解简单概念
查看>>
P1-13:集成日志组件 logback 2彩色日志
查看>>
Linux升级内核教程(CentOS7)
查看>>
Lintcode: Partition Array
查看>>
分享适合个人站长的5类型网站
查看>>
类别的三个作用
查看>>
【SICP练习】85 练习2.57
查看>>
runC爆严重安全漏洞,主机可被攻击!使用容器的快打补丁
查看>>