`
chillwarmoon
  • 浏览: 153482 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何建立动态的依赖关系

    博客分类:
  • work
阅读更多
在某些时候,我们需要根据业务需求来动态的建立某些类的多个实例,而这些类是由用户自定义的。例如:在网络编程时,对客户端每次向服务端发起的TCP请求,在服务端都会建立Socket,用户对该Socket进行包装,形成类A。因此对于客户端的每次请求在服务端都有与A相应的实例。
但是类A又依赖于多个属性,是否需要队列来处理Socket,A所对应的Socket端口是多少。因此问题是:如何在服务端创建A的实例,然后将已定义好的属性注入到A中?

解决方法之一:
(1)基于Spring,将创建A的类称为W,作为Spring的一个bean;
(2)A的“包名+类名”作为W的String属性;
(3)A所依赖的队列和Socket端口等属性定义为一个属性集合Map,该Map作为W的一个属性。

在W运行时,对于每个客户端向服务端发起的请求,都会利用反射建立A的实例,然后将W的属性Map通过调用A的setMap方法将这些属性传递到A的实例中。

缺点:(1)W包含了对A的属性的依赖,破坏职责单一性。
      (2)在实现A时,需要实现setMap方法,处理由A传递过来的参数。分散A的业务职责。
      (3)Map的key在编译时不能进行检查。

有没有更好的方法解决这个问题呢?
分享到:
评论

相关推荐

    论文研究-基于实体依赖关系的信任链模型与构建机制.pdf

    首先将信任链模型转换为数学模型,然后,在分析实体依赖关系和安全逻辑系统的基础上,采用了数学逻辑的证明方法证明了该信任链模型满足的性质。该模型不仅可以评估现有的可信计算平台(包括基于静态可信度量根(SRTM...

    论文研究-P2P环境下文件共享的信任建立博弈模型及稳态分析.pdf

    P2P环境下文件共享中节点的信任建立是彼此进行安全交互的前提,现有的信任关系的建立依赖于可信的第三方,但在P2P网络中没有中心服务器和可信第三方提供担保,这种节点信任关系的建立相当困难。为此,借助演化博弈...

    一种分块并行Cholesky分解动态调度算法

    为解决分块并行Cholesky分解过程中各处理器间的负载平衡问题,分析了算法的下三角矩阵特性以及各轮循环和循环内部各步骤基本计算任务之间存在的依赖关系,以各步骤的矩阵块基本计算任务为顶点,任务间的依赖关系为有向...

    论文研究-存在策略消费者的动态定价策略.pdf

    讨论了两阶段最优价格和期望最大利润跟消费者效用折扣因子、策略性消费者所占比例、消费者对历史价格的依赖程度的关系,结论表明忽视消费者策略行为以及价格参考效应会给零售商带来较大的负面影响.

    论文研究-概念与文档的语义相似度计算.pdf

    基于数据库的理论提出了一种新的非函数依赖程序不变量动态检测技术,针对各种常见非函数依赖程序不变量类型建立了一系列检测方法。此不变量检测技术通过数据库中提供的SQL条件查询功能,灵活地检测各种常见类型的非...

    Spring基础与快速入门

    那么在容器启动之后,这些对象就被实例化好了,你直接去用就好了,而且依赖关系也建立好了。 3 IOC:控制反转,谓之“依赖关系的转移”,如果以前都是依赖于实现,那么现在反转为依赖于抽象吧,其实它的核心思想...

    tracing_env:动态跟踪编译器的测试环境

    包依赖关系(Minikube) rust来构建动态跟踪编译器 kubernetes在集群中管理和运行Web应用程序 minikube运行本地Kubernetes集群 docker作为Minikube的容器驱动器后端 bazel为特使建立Wasm筛选器 istio管理Envoy及其...

     基于VxWorks的星载控制计算机动态可重构研究

    本设计针对VxWorks动态加载组件的不足,通过建立模块信息表和模块间依赖关系表对模块动态加载、卸载、重载、替换、自动加载策略进行了改进设计,完善动态加载机制实现了星载控制计算机的动态可重构设计。

    毕业设计智能电网级联故障建模研究matlab完整源码带说明文档.7z

    电网的可靠性在很大程度上取决于电网组件及其相关通信和控制网络之间的相互依赖关系。 此外,系统运营商在处理级联故障方面的专业知识可以在紧急情况下发挥关键作用。项目建立了一种基于随机马尔可夫链的模型,即...

    数据库营销

    或者,数据库营销就是以与顾客建立一对一的互动沟通关系为目标,并依赖庞大的顾客信息库进行长期促销活动的一种全新的销售手段。是一套内容涵盖现有顾客和潜在顾客,可以随时更新的动态数据库管理系统。数据库营销的...

    《深入理解OSGi:Equinox原理、应用与最佳实践》迷你书

    第二部分(第2~4章):OSGi规范与原理,对最新的OSGi R5.0中的核心规范进行了全面的解读,首先讲解了OSGi模块的建立、描述、依赖关系的处理,然后讲解了Bundle的启动原理和调度管理,最后讲解了 与本地及远程服务...

    异构网格环境下的可信依赖任务调度 (2010年)

    根据网络节点的历史行为表现,构建了一个动态信誉度评估策略,为确立任务需求与资源节点行为可信属性之间的隶属关系,定义了隶属度函数,建立了一种安全可信的网格任务调度新模型,为了实现该模型,提出一种依赖任务...

    P2P环境下文件共享的信任建立博弈模型及稳态分析 (2010年)

    P2P环境下文件共享中节点的信任建立是彼此进行安全交互的前提,现有的信任关系的建立依赖于可信的第三方,但在P2P网络中没有中心服务器和可信第三方提供担保,这种节点信任关系的建立相当困难。为此,借助演化博弈理论...

    基于马尔可夫的贝叶斯图向量自回归模型,可用于国际间通货膨胀、股票波动等仿真分析

    贝叶斯图用于表示变量之间的条件依赖关系,可以帮助我们建立变量之间的关联结构。 在模型中,我们首先定义一个状态空间,包括各个变量的状态。然后,通过观察数据,我们可以估计变量之间的条件概率分布,并利用...

    论文研究-服务网络:Web服务组合的新基点.pdf

    与此同时,提出服务网络(services network,SN)的概念来表达服务间的依赖、关系、属性和能力等语义关联。结合本体概念和模糊推理,将语义信息和对模糊信息的处理能力引入到服务的发现、匹配、组合过程中,使SN成为...

    uml 试卷很全面好多个试卷及答案

    8.在UML软件开发过程的需求分析和系统分析阶段,建立类模型的步骤分为 寻找确定类 、 定义类的接口 、定义类之间的关系、建立类图 和 建立系统包图 。 9.组合聚集是指“整体”拥有它的“部分”,它具有强的物主...

    FreeBSD操作系统设计与实现

    8.6.13 跟踪目录项重命名时的依赖关系 8.6.14 跟踪删除文件时的依赖关系 8.6.15 fsync对软更新的要求 8.6.16 删除文件时对软更新的要求 8.6.17 fsck对软更新的要求 8.6.18 软更新的性能 8.7 文件系统的快照 8.7.1 ...

    奥运场馆水立方的客流量与网络关注度关系分析 (2013年)

    根据消费者购买决策理论,分析旅游目的地客流量与网络关注度的关系,比较水立方2010年8月1日―2011年12月31日期间每日客流量与网络关注度变化曲线,采用非结构性方法建立VAR模型,判断两者之间的动态影响关系....

    重归一化组方法对磁催化的解剖

    根据从RG和Schwinger-Dyson方程的解获得的动态质量间隙之间的精确一致,我们讨论了这两种方法之间的等价关系。 着眼于QED和Nambu–Jona-Lasinio模型,我们阐明了相互作用的性质如何在质量缺口中表现出来,并指出了...

    项目交互耦合网络演化

    针对现有文献中较少考虑交互依赖关系对项目组合动态选择影响的问题,借鉴复杂网络理论,提出项目交互耦合网络概念,并从项目收益、资源成本、项目风险、项目状态、交互依赖关系及战略匹配程度等6个方面描述网络演化的...

Global site tag (gtag.js) - Google Analytics