中介者模式

中介者模式

  1. 什么是中介者模式,有什么好处
    最一个app中涉及到多个类相互引用彼此#import导致这些类紧紧的耦合在一起无法拆分。这时候我们可以用一个类作为中间管理者,其他类间不在彼此引用,这就是中介者模式。好处是可以进行类与类间松耦合。

  2. 什么时候使用

    1. 组件化开发时候,往往涉及到模块间的通讯时候会用中介者模式进行模块与模块的送耦合。
    2. 往往在控制器之间跳转时候会用中介者模式,进行中间管理。统一管理跳转。
  3. 模式图
    加入中介者类

  4. 举例
    如我们在进行组件化开发时候,假如在pod里用两个我们自己写的组件。这两个组件在彼此#import,彼此紧耦合在一起。当我们开发一个新的项目时候这个项目只是想用其中一个组件,这时候就会很尴尬,当导入组件A时候发现它在#import组件B。这时候解决方案有三个。

    1. 修改组件A去掉B组件耦合,这种办法其实是不好的,因为组件A已经是我们开发好的成型的组件了,这样修改组件源代码不合理。也比较麻烦。
    2. 也导入组件B,这种办法更加不可取,因为组件B我们根本不需要这样就相当于在工程中加入了大量的无用代码,特别是如果有众多组件都是这样彼此耦合的情况那就需要导入大量的无用组件很不合理。
    3. 利用中介者模式。新建立一个类专门用作管理所有组件的通讯。这样如果我们仅仅只是用组件A,那么我们就可以只是导入组件A和这个中介者类,修改中介者类去掉关于B组件的部分代码即可。这种处理方式更好,好处如下。
      1. 如果没有这个中介者,那么所有组件彼此都紧紧耦合在一起,一团糟。有了一个中介者作为中间的管理者,使得组件之间彼此并不知道彼此只是在和中介者类通讯。这样更合理。
      2. 当只是使用其中一个组件时候,只是导入一个组件并修改中介者类去掉其他组件部分。这样就实现了,在不改动组件源代码的情况下实现了松耦合。我们做的只是修改了中介者类部分代码,其实中介者类我们是可以修改的,因为它不是组件的源代码。因为它只是中间的管理者,那么当去掉其他组件时候,这个中介者当然就不在需要管理去掉的组件了,所以修改它是合理的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值