java 非侵入式_非侵入式设计 和侵入式设计 意思?
非侵入式系介绍DI用语,我得理解是两个组件(类,接口)之间,比较独立,不深入到另一个类内部,哪位大虾能点拨一二?
关于“侵入式”和“非侵入式”设计
有读者讲“侵入式”这一术语无法理解,这里给一个简单解释,是我个人的看法。
在设计一个类时,按理说,需要考虑的应该只是该类所企图表示的那个“概念”本身:为表示有关概念应记录哪些信息,该类的对象与外界交换信息的界面等等。但定义这个类并不是为了放在那里观赏,而是为了使用。在考虑类对象的使用时,使用环境的一些要素就可能“侵入”这个类的设计之中。实际上,许多情况下我们常常可以在“侵入式”设计和“非侵入式”设计之间做一个选择,不同选择各有优缺点。在考虑非类的程序部分时,这种问题也同样存在。
例如,我们可能需要对类A的对象做引用计数,这里有两种基本可能性:将计数功能纳入类A的设计内(侵入式引用计数设计,此时类A的对象中包含了与引用计数有关的要素,这显然是与类A所要表示的概念无关的东西),或者将计数功能放在类A之外(非侵入式引用计数)。
本书中讨论容器时提出了“侵入式容器”设计和“非侵入式容器”设计的概念:当我们希望将类A的对象放入一种容器时,是否需要将该容器的实现要素“侵入”类A的设计实现之中(这显然是与类A本身并无必然关系的要素)。不同考虑导致不同的容器设计。
我基本上知道了,从夏大虾得著作中得知。
比如struts,需要继承一些struts得类,这就是侵入式,使得系统离不开那个框架。
而spring中,业务类不需要继承框架得类,将来抛弃spring也比较方便。
楼上大虾(土豆块
java 非侵入式_非侵入式设计 和侵入式设计 意思?相关推荐
- nfa状态转换图正规式_穿过隔离栅供电:隔离式直流/ 直流偏置电源探讨
编者按: 您身边有许多隔离式电源可以选择,但需要了解输出数量.调节要求.输出功率.隔离等级.工作温度和输入电压范围等系统级规格.为此,您可以选择这种成本最低.可满足所有系统 要求的解决方案. 电子设计 ...
- java面向对象模拟电梯_面向对象的程序设计-电梯调度系统的设计、优化与测试...
面向对象的程序设计(2019)第二单元总结 I 对问题的初体验 在开始OO之旅前,对OO电梯早有耳闻.这一次终于轮到我自己实现OO电梯了.首先从顶层需求出发对电梯系统进行分析,对象包括电梯.任务和乘 ...
- 非功能性需求_非接触式喷射自动点胶机的优势在哪儿?
非接触式喷射自动点胶机的优点在哪儿?除开基本的非接触型自动点胶机,现如今高新科技产品越 来越多是利用非接触式喷射喷胶.非接触式喷胶适宜高精密元器件喷胶,细致商品粘合打包封装点漆着 色等,喷射喷胶点漆是 ...
- 非极大值抑制_非极大值抑制(Non-Maximum Suppression)
文章作者:Tyan 博客:noahsnail.com | CSDN | 简书 1. 什么是非极大值抑制 非极大值抑制,简称为NMS算法,英文为Non-Maximum Suppression.其思想是搜 ...
- 字典推导式_聊一聊:python的各种推导式(列表推导式、字典推导式、集合推导式)...
作者:苍松 原文:https://www.cnblogs.com/tkqasn/p/5977653.html 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可 ...
- python列表推导式_聊一聊:python的各种推导式(列表推导式、字典推导式、集合推导式)...
作者:苍松 原文:https://www.cnblogs.com/tkqasn/p/5977653.html 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可 ...
- html5 css 响应式_在HTML5 / CSS3中编写响应式简历
本文是我们的" Web响应式设计系列"的一部分,该系列由工具,资源和教程组成,可帮助您为所有平台的用户创建网站. 单击此处查看同一系列的更多文章. 业务部分的几乎每个人都在某个时间 ...
- 基于java的人力资源管理系统_基于JavaWeb的企业人力资源管理系统的设计与实现...
<基于Java Web的企业人力资源管理系统的设计与实现.doc>由会员分享,可免费在线阅读全文,更多与<基于Java Web的企业人力资源管理系统的设计与实现>相关文档资源请 ...
- 微博app是用java写的吗_基于安卓Android第三方微博APP的设计(Eclipse)
基于安卓Android第三方微博APP的设计(Eclipse)(论文11000字,程序代码) 摘要:Android系统是基于LINUX的手机操作系统,其最大的优势在于整个系统的开源性和免费性.本系统以 ...
最新文章
- ORBBuf : 一种鲁棒的协同视觉SLAM缓冲方法
- jqgrid 单元格绑定点击事件_自定义事件带参数的触发过程
- 学习python自动化运维笔记文件比较
- opencv双目测距资料整理
- GetSafeHwnd()函数
- **[权限控制] 利用CI钩子实现权限认证
- php服务器无法上传图片,IIS+php服务器无法上传图片解决办法_PHP教程
- 使用 PowerShell 自动化 CloudServices 发布
- Linux汇编调试器EDB
- cblas_sgemm cblas.h
- C语言不支持函数重载的原因
- 筛选N以内的素数C语言版(1022)
- 关于使用开源版urule决策引擎优化性能和配置客户端集群同步生效的问题
- python之if-else_Python中的if-else
- 经验 | 在麻省理工人工智能实验室如何做研究?
- mysql 连续打卡天数_Sql如何统计连续打卡天数
- Unity 3D涂色
- 豪华金色粒子动态logo展示AE视频模板
- 新年新气象,2021来了,用Python换一张头像迎新年吧!
- 通知栏通知不被清除通知所取消