02 2018 档案

摘要:定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带 阅读全文
posted @ 2018-02-28 10:44 vegatate 阅读(144) 评论(0) 推荐(0)
摘要:肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。 定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对 阅读全文
posted @ 2018-02-27 16:50 vegatate 阅读(153) 评论(0) 推荐(0)
摘要:谈transact 和onTransact需要先聊聊iBinder IBinder是什么呢?首先要明白,Android的远程调用(就是跨进程调用)就是通过IBinder实现的,下面是对android开发文档的翻译。 IBinder是远程对象的基本接口,是为高性能而设计的轻量级远程调用机制的核心部分。 阅读全文
posted @ 2018-02-26 22:06 vegatate 阅读(182) 评论(0) 推荐(0)
摘要:IoC(Inverse of Control 控制反转)是Spring容器的内核,AOP和声明式事务等功能都是基于此技术实现。 参照实例理解IoC 参考网址中的刘德华饰演墨者革离的例子,能帮助我们更好的理解IoC的原理,因此此处我们依然使用这个例子进行IoC的学习。 代码1:通过演员安排剧本 pub 阅读全文
posted @ 2018-02-26 17:05 vegatate 阅读(963) 评论(0) 推荐(0)