观察者模式优点:
观察者模式在被观察者和观察者之间建立一个抽象的耦合。被观察者角色所知道的只是一个具体观察者列表,每一个具体观察者都符合一个抽象观察者的接口。被观察者并不认识任何一个具体观察者,它只知道它们都有一个共同的接口。由于被观察者和观察者没有紧密地耦合在一起,因此它们可以属于不同的抽象化层次。如果被观察者和观察者都被扔到一起,那么这个对象必然跨越抽象化和具体化层次。
观察者模式缺点:
如果一个被观察者对象有很多的直接和间接的观察者的话,将所有的观察者都通知到会花费很多时间。
如果在被观察者之间有循环依赖的话,被观察者会触发它们之间进行循环调用,导致系统崩溃。在使用观察者模式是要特别注意这一点。
如果对观察者的通知是通过另外的线程进行异步投递的话,系统必须保证投递是以自恰的方式进行的。
虽然观察者模式可以随时使观察者知道所观察的对象发生了变化,但是观察者模式没有相应的机制使观察者知道所观察的对象是怎么发生变化的。
劝学警言
身处信息爆炸时代,知识浩瀚如海洋。
然,如同图书馆,你可以入门,但不代表你就拥有它。
且,学而不思则罔,思而不学则殆;
学贵有恒,更需注重方式方法。切记三字箴言:恒、慢、悟——
恒:坚持不懈!最忌讳的就是三天打鱼两天晒网,一曝十寒;
慢:精雕细琢!慢工出细活,理论知识一定要吃透,知其所以然;
悟:明辨慎思!要善于固化知识,一定要有自己的理解,否则就如同将他人吐在地上的吃过的甘蔗,再捡起来嚼,味同嚼蜡一般,无任何滋味可言。
送君一句话:殚精竭虑,不如须臾之所学也。
愿君,好好学习,天天向上!
共勉之!

文章转载自学亮编程手记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




