zoukankan      html  css  js  c++  java
  • paip.使用继承机制来实现控制反转或依赖倒置

    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.更加的灵活..易于理解

  • 相关阅读:
    Redis主从复制
    Centos6克隆虚拟机改IP和mac地址
    Liunx中ERROR 2002 (HY000) Can't connect to local MySQL server through socket 'varlibmysqlmysql.sock' (2)报错
    linux安装redis
    每天五分钟带你了解Redis
    sqiud --ACL控制应用、sarg日志分析、反向代理
    squid--透明代理
    Squid--传统代理
    Tomcat+Nginx实现动静分离
    -bash: nginx: 未找到命令/没有这个文件
  • 原文地址:https://www.cnblogs.com/attilax/p/15199988.html
Copyright © 2011-2022 走看看