在开发过程中,一个大的程序经常由多个人来完成,对于程序来说,a 负责的部分改动后,b 也需要改动,就是耦合,他们的关系紧密。
例如:
以下代码的缺点是,如果汽车生产商某个汽车下架,汽车店就需要修改一次。2个点关系紧密,一动则全部都要改动。
汽车店: 如果你买 索纳塔,则让汽车生产商制造一辆索纳塔 如果你买 名图,则让汽车生产商制造一辆名图 如果你买的没有,则告诉买家没有 汽车生产商: 根据汽车店的订单制造汽车
以下代码就是解耦,将关系紧密部分独立交给生产商负责。实际工作中则是,生产商交给你一个 api,你将订单传输给他即可。 不过也有个问题,生产商的代码方面出现问题,你这里也会异常。
汽车店: 如果你买汽车,则将订单给'汽车生产商'的判断程序 汽车生产商的判断程序: 如果接收到请求为 索塔纳,则制造一个索塔纳并告诉汽车店 有 如果接收到请求为 名图,则制造一个名图并告诉汽车店 有 如果接收的请求没有,则告诉汽车店 没有 汽车生产商: 根据判断程序下的订单制造汽车