接口:类别的设计

(一)接口的前身(前提):协定

协定

比如物件之间的协定,物件XY动作达成了协定,因此我们会呼叫物件X来执行Y动作

 

根据协定设计类别优点:

(1)事前的规划将使类别更完善

(2)较佳的类别版本控制取向,每一个版本都是为一个新的协定

(3)有助于团队的开发

       i Programming in the Large

      ii 使子系统/团队都遵守相同的协定

(4)使用起来较有弹性,不管现在或未来,类别X都可以和遵守协定的类别互动

(二)接口

接口的涵义:

a代表用户端与伺服端之间的协定

b不包含资料及任何实作的程式码

c用户端(要求服务的物件),透过接口与伺服端沟通

d伺服端(根据接口协定,提供服务的物件),伺服端中实作接口以满足协定

(三)优点,为什么要使用接口

泛用性

a用户端的程式码将和使用的资料库脱钩

b允许我们建立泛用的资料存取程式码

多型(多态)

(1)当不同的类别均支援相同的操作时

    a只需要学习一种物件模型,就可以使用不同的类别

    b使用起来更方便且具有弹性

(2)使用接口轻易就可实作多型

(四)泛用型资料层

ADO.Net的介面

ADO.Net为资料类别提供了许多介面

   i IDataReader

   ii IDataAdapter

   iii IDbConnection

   iv IDbCommand

   v IDbDataAdapter

 

使用ADO.Net的介面来开发泛用型的资料优缺点

a资料元件可跨不同的资料库使用

b某些资料元件特有的功能将隐藏在介面里头,仍然可以存取,但将破坏其泛用性

 

以介面的观点撰写程式

实作方式:透过物件产生器隐藏真正使用的型别

Imports db=System.Data.OleDb

 

Public Class DataAccess

      

       dim dbConn as System.Data.IDbConnection

       dbConn=me.CreateConnection()

       dbConn.Open()

End Class

 

Private Function CreateConnection() as System.Data.IDbConnection

       return New db.OleDbConnection("")

End Function

Private Function CreateCommand() as System.Data.IDbCommand

       return new db.OleDbCommand(sql,dbConn)

End Function

 

转移资料来源

当资料来源异动时只需要更改物件产生器——泛用,多态

    a在资料元件中的程式码仍然不变

Private Function CreateConnection() as System.Data.IDbConnection

       return new ss.SqlConnection("")

End Function

Private Function CreateCommand() as System.Data.IDbCommand

       return new ss.SqlCommand(sql,dbConn)

End Function

   b继承

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值