博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
搬砖方法论:服务定位模式(Service locator pattern)
阅读量:4147 次
发布时间:2019-05-25

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

定义

服务定位模式(Service Locator Pattern)指的是在以外的地方,以不确定的一群不稳定依赖对象,作为依赖需求组件提供给应用程序使用。

更多解释详见

file
public class MainCityController{    public MainCityController()    {     }    public void StartUp()    {        IProductService service = Locator.GerService
(); var products = service.GetFeaturedProducts(); // products do something ... }}

相对于IOC容器来讲(组合根以外使用),服务定位模式是一种反面模式,它所造成的危害如下

  • 因为需要对Locator事先注册对应的服务项,否则会造成获取服务失败,也就造成了
  • 隐藏其获取服务的依赖关系,限制了对此服务的了解。(因为使用此服务,所以它所涉及的依赖关系还是应该知道的)
  • 在对应的模块中直接使用Locator,会把不需要的依赖项带入进来,如果Locator归属在其他模块,那么也就把Locator对应的模块强行绑定进来。

服务定位成为反面模式最根本的原因就是在组合根以外的地方获取依赖对象,如果在组合根中进行依赖项的获取和解析,使用IOC容器和服务定位都是没问题的。


更多文章详见主页:

转载地址:http://rajti.baihongyu.com/

你可能感兴趣的文章
Mysql初始化的命令
查看>>
MySQL关键字的些许问题
查看>>
浅谈HTML
查看>>
css基础
查看>>
Servlet进阶和JSP基础
查看>>
servlet中的cookie和session
查看>>
过滤器及JSP九大隐式对象
查看>>
软件(项目)的分层
查看>>
菜单树
查看>>
【Python】学习笔记——-6.2、使用第三方模块
查看>>
【Python】学习笔记——-7.0、面向对象编程
查看>>
【Python】学习笔记——-7.2、访问限制
查看>>
【Python】学习笔记——-7.3、继承和多态
查看>>
【Python】学习笔记——-7.5、实例属性和类属性
查看>>
git中文安装教程
查看>>
虚拟机 CentOS7/RedHat7/OracleLinux7 配置静态IP地址 Ping 物理机和互联网
查看>>
Jackson Tree Model Example
查看>>
常用js收集
查看>>
如何防止sql注入
查看>>
springmvc传值
查看>>