首页 > 搞特务的程序

搞特务的程序

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

为了解耦合而产生一些很奇怪的程序写法。


有一些程序员大概已经忘记了java是面向对象的。


类A和B为了解耦合,只能从A调用B。B中没有A的引用。B从来不直接和A通讯,如果需要,B会把消息放到一个公共的Session中。这种单线联系,看起来好像是搞特务活动的。Session中的消息是有约束的,不然A不知道B放了什么。我在想这个约束是不是也是一种耦合,的确是,但是已经比较松散了。


在设计的分层上,B其实是业务层次的抽象,A负责协调数据和显示数据的逻辑。这样的设计其实是希望将显示部分与业务部分分离开。


这个设计乍一看没有什么问题,但是其实是不好的。中间环节其实是多余的。我们其实可以设计一个良好的接口,就可以避免中间Session的环节。变成A请求B,B有问必答。这样可能更好。必经程序不是搞特务的,没有必要搞那么神秘。反正A已经知道B了,中间环节就略显多余。

还有一个问题,那就是状态共享的问题。这种解耦的情况下,其实A和B的关系还是比较紧密的。那么如果A和B之间没有共享的状态,A就要维护一份B的状态。



转载于:https://my.oschina.net/clarkhill/blog/29489

更多相关:

  • 我不是碰不到更好的,而是因为已经有了你,我不想再碰到更好的 我不是不会对别人动心,而是因为已经有了你,我就觉得没必要再对其他人动心 我不是不会爱上别的人,而是我更加懂得珍惜你,能在一起不容易,已经选定的人就不要随便放手 世界上的好人数不清,但遇到你就已经足够 即使你不是最好的,甚至不是最适合我的,但却是我最珍惜的 缺点可以改正,性格...