paip.使用继承机制来实现控制反转或依赖倒置

平时实现IOC时常使用INTERFACE来实现...总觉得写的代码复杂,又多...经过我的研究,可以使用继承机制来IOC..相比INTERFACE方式,代码更加的简装,更容易理解..

业务场景A:
 用户注册user.reg() ,其中要实现增加帐户操作  Account.iniacc();

-----------类user---------------
  public Account acc = new Account();
  public void reg()
        {

addUser();

acc.iniacc(uname);

}

-------------类Account ---------------
 virtual public void iniacc(string uname)
        { }

界面调用 :
    user  uc = new user();       
        uc.reg();

业务场景B,需要复用 reg(),但是不需要账户操作;此时,可以新建一个类acc2,重写iniacc(),使其为空,不对账户操作..

-----------acc2---------------

public class acc2 : Account
    {

override   public void iniacc(string uname)
        {

}
    }

此时,界面调用可以注入acc2 ,这样在reg()中调用iniacc()就是acc2.iniacc()了.呵呵.:

user  uc = new user(); 
   uc.acc = new acc2();   
        uc.reg();

**********我的总结,相比interface方式,优点有下:

1. 代码量少,简洁
2. 可以有默认实现,只有必须重写的情况下再重写....如果用interface方式,则没有了默认实现..
3.仅对需要的方法进行重写,而interface方式,则要求强制实现上级类的所有方法...
4.更加的灵活..易于理解

paip.使用继承机制来实现控制反转或依赖倒置相关推荐

  1. 架构设计之依赖倒置、控制反转与依赖注入

    名词解释 依赖:一种模型元素之间的关系的描述.例如类A调用了类B,那么我们说类A依赖于类B. 耦合:一种模型元素之间的关系的描述.例如类A调用了类B或类B调用了类A,那么我们说类A与类B有耦合关系. ...

  2. Java 控制反转和依赖注入模式【翻译】【整理】

    Inversion of Control Containers and the Dependency Injection pattern --Martin Fowler 本文内容 Component ...

  3. Java之控制反转和依赖注入

    1.简介 依赖注入和控制反转,目的是为了使类与类之间解耦合,提高系统的可扩展性和可维护性,下面通过一个例子来引入这一概念. 2.案例 1)一般情况下的类耦合 Main.java public clas ...

  4. .NET Core ASP.NET Core Basic 1-2 控制反转与依赖注入

    本节内容为控制反转与依赖注入 简介 控制反转IOC 这个内容事实上在我们的C#高级篇就已经有所讲解,控制反转是一种设计模式,你可以这样理解控制反转,假设有一个人他有一部A品牌手机,他用手机进行听歌.打 ...

  5. 控制反转_.NET Core ASP.NET Core Basic 12 控制反转与依赖注入

    本节内容为控制反转与依赖注入 简介 控制反转IOC 这个内容事实上在我们的C#高级篇就已经有所讲解,控制反转是一种设计模式,你可以这样理解控制反转,假设有一个人他有一部A品牌手机,他用手机进行听歌.打 ...

  6. 如何理解控制反转和依赖注入

    如何理解控制反转和依赖注入 文章目录 如何理解控制反转和依赖注入 前言 一.什么是控制反转 1.何为依赖关系 2.进行控制反转的前的一些准备 3.控制反转的简单实现 2.1:实现代码 二.什么是依赖注 ...

  7. Spring中控制反转和依赖注入

    Spring之IOC控制反转和DI依赖注入 1.控制反转是什么? IOC控制反转,所谓反转是指使用方本身不负责依赖对象的创建和维护,而将对象的管理(创建.维护.销毁)都交给Spring容器管理,在使用 ...

  8. php程序设计依赖注入_PHP控制反转和依赖注入

    [TOC] PHP和依赖注入 理论知识 要了解控制反转( Inversion of Control ), 我觉得有必要先了解软件设计的一个重要思想:依赖倒置原则(Dependency Inversio ...

  9. java 反转 控制 注入_控制反转和依赖注入

    全2册git版本控制管理(第2版)+ 99.8元 包邮 (需用券) 去购买 > 控制反转(Inversion of Control)即IoC,是一种模式,Spring的核心概念. 依赖注入(De ...

  10. Spring容器,控制反转,依赖注入

    Spring boot学习之旅,为更好督促自己学习以记之,仅供参考. spring容器 程序启动的时候会创建spring容器,扫描给spring容器一个清单,比如:@Controller, @Bean ...

最新文章

  1. 唯一索引和普通索引的选择
  2. USACO07DEC道路建设Building Roads(prim算法+堆优化与Kruskal+路径压缩对比)
  3. python协程实时输出_python协程
  4. 统计学习笔记(1)——统计学习方法概论
  5. AttributeError系列之:AttributeError: module 'scipy.misc' has no attribute 'imread'报错问题
  6. 用于Spring JPA2后端的REST CXF
  7. UOJ Test Round 3
  8. web端功能测试总结(一)
  9. 矩阵的旋转和翻转——Python
  10. php 开启phalocn 扩展_php7安装3.4版本的phalcon扩展
  11. linux流量监控php_Linux下安装vnstat流量统计,流量监控
  12. 《游戏设计艺术(第二版)》第十二章个人学习
  13. win10cmd计算机管理界面,Win10命令提示符cmd在哪 Win10以管理员身份运行方法
  14. JPush极光推送的原理
  15. 三维重建笔记——Linux环境下openMVG的安装
  16. inprivate浏览是什么意思_保护Internet隐私,打开IE浏览器InPrivate浏览默认情况下...
  17. 【算法】并查集的运用
  18. 关于linux android sdk配置环境
  19. 成 功 的 背 后 !( 致给所有IT人员)
  20. 土地资源管理毕业论文范文

热门文章

  1. 同步异步线程进程的一些思考
  2. mysqldump 工具使用详解——参数选项
  3. 黑马程序员——String类总结
  4. Android开发学习路线图
  5. libevent的问题
  6. 从盒子到“云”——让用户享受更轻松的应用交付
  7. 结构型模式之组合模式
  8. C#与JavaScript中URL编码解码问题(转)
  9. 效率:标记语言:markdown
  10. [html] 回到页首