个人对代理模式的思考

2019-03-24  本文已影响0人  Exqlnet

代理是什么?

代理的优点?

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

对架构的思考

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

分工:

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

上一篇 下一篇

猜你喜欢

热点阅读