个人对代理模式的思考

代理是什么?

  • 三个类: 委托类(被代理类)、代理类、客户类
    举个例子,现在有厂家、微商代理、买家三个对象,买家在代理商买东西,微商代理从厂家进货,厂家可以有多个代理商,这些代理商面向不同的用户群体(比如微商代理提供给微信用户),从而可以向特定的群体销售特定的物品,而厂家只管生产即可,提高了工作效率。在这里委托类就是厂家,代理类就是微商代理,而客户类就是买家。

代理的优点?

优点一:可以隐藏委托类的实现;
优点二:可以实现客户与委托类间的解耦,在不修改委托类代码的情况下能够做一些额外的处理。
因此代理模式可以提高系统各个模块的工作效率,各自做自己擅长做的事情。

对架构的思考

每次聊到架构,都要想想现在做的这个业务,它的核心生命周期是什么?
就上文举得例子而言,它的核心生命周期就是把厂家生产的商品销售出去,这里的主体是厂家。想一想,如果让厂家做所有的事情:生产、寻找用户群体、销售,那么厂家可能会花大量的心思去关心商品的销售过程(推广、寻找买家、甚至和买家讨价还价orz等等),这样厂家就没有办法专注自己的本分工作——生产。
一个人做所有的事,这样的架构固然是不好的,因为它会产生严重的耦合。
何不让擅长的人做擅长的事呢?

分工:
  • 厂家只顾生产
  • 代理商只顾销售
  • 用户只顾可以买到商品

为了在相等的时间内做更多的事,厂家把销售任务委托给代理商,而买家无需关心代理商是从哪里获取商品的。此时代理商可以做更多的事:筛选用户群体(绝对不会在网吧里卖口红)、记录用户购买历史等等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。