java紧耦合与松耦合关系
请先看下这个关于松耦合的回答
举个简单的例子啦
有一百人分成10个团队做开发
你写了一个类A,供其他人调用,怎么办?
简单的方法就是把这个类打成jar包,然后给他们
他们就A a = new A();
然后调用a的方法。
但是有一天,A类升级了,怎么办?
再打jar包,再给其他9个组每个组发一份,告诉他们,替换一下以前的jar包。
有可能你的a中,方法签名还发生了变化,那么他们就得重新改代码来适应你新的jar包了。
如果这样的事频繁发生呢,那么你就等着挨骂吧。
这就是紧耦合,他们的程序紧密地耦合着你的程序。
如果是松耦合的话,我想我可能会定义一个接口给他们,然后IOC的方式将实现类给他们,最好是远程
的通过webservice的方式进行调用,这样我的A更新了,只需要切换掉远程的A的实现类,他们根本啥也
不知道,啥也不用改,就更新了功能,
java紧耦合与松耦合关系的更多相关文章
- ActiveMQ 翻译第一章 1.2小节(松耦合与ActiveMQ和何时使用ActiveMQ)
第一章 1.2.1小节 松耦合与ActiveMQ ActiveMQ为应用程序架构提供送耦合实现组件.松耦合经常被引入到系统架构中,来减轻紧耦合的远程工程调用的使用.松耦合的设计是异步的,来自其他系统 ...
- Java中类与类的关系
在java中类和类的关系大致分三种:泛化.关联.依赖. 1. 泛化(Generalization) "XX是一个XX"关系(is a),通常使用的关键词为 extends.impl ...
- Prism 4 文档 ---第9章 松耦合组件之间通信
当构建一个大而负责的应用程序时,通用的做法时将功能拆分到离散的模块程序集中.将模块之间的静态引用最小化.这使得模块可以被独立的开发,测试,部署和升级,以及它迫使松散耦合的沟通. 当在模块之间通信时,你 ...
- Spring松耦合示例(转)& IOC
Spring松耦合示例 轻松学习Spring<一> IoC容器和Dependency Injection模式 最近公司需要,项目中要用到Spring和Ibatis.趁着过年好好学习学习.I ...
- Spring3系列2 -- 松耦合的实现
Spring3系列2 -- 松耦合的实现 一. 环境 spring-framework-3.2.4.RELEASE jdk1.7.0_11 Maven3.0.5 eclipse-jee-ju ...
- ASP.NET + MVC5 入门完整教程三 (下) ---MVC 松耦合
建立松耦合组件 MVC 模式最重要的特性之一视他支持关注分离,希望应用程序中的组件尽可能独立,只有很少的几个可控依赖项.在理想的情况下,每个组件都不了解其他组件,而只是通过抽象接口来处理应用程序的其他 ...
- C#进阶系列——MEF实现设计上的“松耦合”(一)
前言:最近去了趟外地出差,介绍推广小组开发的框架类产品.推广对象是本部门在项目上面的同事——1到2年工作经验的初级程序员.在给他们介绍框架时发现很多框架设计层面的知识他们都没有接触过,甚至没听说过,这 ...
- C#进阶系列——MEF实现设计上的“松耦合”(二)
前言:前篇 C#进阶系列——MEF实现设计上的“松耦合”(一) 介绍了下MEF的基础用法,让我们对MEF有了一个抽象的认识.当然MEF的用法可能不限于此,比如MEF的目录服务.目录筛选.重组部件等高级 ...
- C#进阶系列——MEF实现设计上的“松耦合”(四):构造函数注入
前言:今天十一长假的第一天,本因出去走走,奈何博主最大的乐趣是假期坐在电脑前看各处堵车,顺便写写博客,有点收获也是好的.关于MEF的知识,之前已经分享过三篇,为什么有今天这篇?是因为昨天分享领域服务的 ...
随机推荐
- Todolist总结
一.组件类里面的函数尽可能写成箭头函数的形式,方便绑定this 上面的箭头函数是好的,写面的不好,他需要在用的时候绑定this,或者在constructor绑定,如下: 如上用的时候绑定this是不好 ...
- 《高性能JavaScript》 实用指南
By XFE-堪玉 阅读<高性能javascript>后,对其内容的一个整理和精简 加载与执行 将script标签放在body结尾标签上面 控制script标签数量(每一次script解析 ...
- Somethings about Floors题解
题目内容:一个楼梯有N级(N >=0), 每次走1级或2级, 从底走到顶一共有多少种走法? 输入要求:只有一行输入,并且只有一个数N(如果N > 20,则N = N%21,即保证N的范围控 ...
- java 序列化Serializable 详解
Java 序列化Serializable详解(附详细例子) 1.什么是序列化和反序列化Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是 ...
- codeforces Gym 100338E Numbers (贪心,实现)
题目:http://codeforces.com/gym/100338/attachments 贪心,每次枚举10的i次幂,除k后取余数r在用k-r补在10的幂上作为候选答案. #include< ...
- k8s集群介绍
Kubernetes集群组件 一个典型的Kubernetes集群由多个工作节点和一个集群控制节点,以及一个集群状态存储系统etcd组成.其中Master节点负责整个集群管理工作,为集群提供管理接口,并 ...
- win10文件共享的实现
1)启动网络发现 打开网络共享中心->更改高级共享设置->修改如下 2)如果需要其他客户端无密码访问 修改如下: 3)如果打算使用Guest访问 用户帐户->管理帐户 ...
- Use-After-Free
0x00 UAF利用原理 uaf漏洞产生的主要原因是释放了一个堆块后,并没有将该指针置为NULL,这样导致该指针处于悬空的状态(这个指针可以称为恶性迷途指针),同样被释放的内存如果被恶意构造数据,就有 ...
- WORD与DWORD
在看C/C++的书或者试题时,有时会见到利用word或dword定义的变量,第一次看到的时候并不知其是什么,更不用说word或dword占几个字节了.幸好在VC安装文件夹下有相关的定义.如C:\Pro ...
- 几种常用库在CentOS下的编译
1操作环境 通过命令查看操作系统版本信息: [root@localhost ~]# cat /proc/version Linux version 3.10.0-327.el7.x86_64 (bui ...