接口层在重构中的作用

大家都知道“类是对象的抽象,接口是方法的抽象”,那么在机房重构中接口层是起到一个什么作用呢?是怎样发挥优势的呢?

why interface?

接口顾名思义应该具有简化的功能,在这里它可以把各种复杂的类中相似的方法用一个统一的方法名来表示放在一个接口中,通过工厂层反射回来的这个接口就可以直接实现很多的功能,而不用知道具体的实现过程。

怎样使用interface的优点?

抽象不同的类中的相似方法作为一个接口,让这几个类来实现这个接口。当然类里面还有其他的方法,可以继续抽象,因为类不仅可以实现一个接口。

建议:接口中的方法不要太多,适量就好,因为它的优点利用一个类可以实现多个接口变得更加灵活

示例:

//以D层是对表的操作为一个类的形式举例
public  class StudentDAO:IQuery,Iinsert,Idelete,Iupdate
{
    public void Query()
    {
        //查询学生
    }
    public void Delete()
    {
        //删除
    }
    public void update()
    {
        //更新
    }   
    public void insert()
    {
        //插入
    }
}

interface IQuery
{
    void query();
}
interface Iinsert
{
    void insert();
}
interface Idelete
{
    void delete();
}
interface Iupdate
{
    void update();
}
//工厂层:
public class StudentFactory
    {

        public static readonly string strDB = System.Configuration.ConfigurationManager.AppSettings["DB"];//读取配置文件  
        public IDAL.LoginIDAL SelectUser()
        {
            return (IDAL.LoginIDAL)Assembly.Load(strDB).CreateInstance("DAL.StudentDAO");
            }
   }

在重构里面我用到的接口的优点主要有:
对方法的隐藏,不用知道具体D层是如何实现的,只知道实现的功能是什么直接调用就行了。
换数据库的时候,不同的数据库D层只要实现相同的接口,其它层都不用变,只改变配置文件和工厂层的.CreateInstance(“你用到的类”);

评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值