什么是依赖倒置原则
依赖:依赖什么 抽象
倒置:倒置什么 依赖关系
以简单三层来说,通常 ui层–bll层–dal层 逐渐深入调用 而用到对象的时候就new 一个出来 这是之前很正常的操作。
可以看到,这时的代码 创建对象 依赖于new 调用层级也是 一层一层的。
换句话说,这样的代码 太到位了,非常具体有条例,调用按部就班,对象实列也清晰明了。
但是,逻辑清晰的背后就是,如果具体的东西 太多,这显然维护起来是比较难搞的。
于是乎为了 偷懒为了好维护,就想办法 怎么能让这类似同行为的对象能够来有一个统一的管理,那就是抽象。
业务变动肯定是要写代码的,但是讲细节 整合到一个抽象上,这样在各个层上关注于抽象,而开闭原则 轻易不会 修改底层抽象,所以就会形成一个良好的保护,在维护的时候就只是业务层面变动,抽象的地方不用在修改了。
举例
我要买房 我要买车 我要结婚 我要吃 喝 买衣服 买鞋子
按照之前的,建一个 我 类 还有 房 车 这些类
接着在 我 类写个 买的 方法 方法参数还必须 房车这些类
再加个 买 水 买 火车票
我 买的方法 还是要无限加,这样不就难受死了
而抽象就不会
我建个 钱 类
我 直接 写个 花钱 方法 方法参数就是钱
不管我买啥 都是花钱 我花钱这个地方 以后在买任何东西 根本无需变动
因为 这些 花的东西 只需要继承 钱 就行 然后有个花的 方法
只需要在业务上 细节化出来东西 就行