petre ricardo

petre ricardo

  • NA
  • 194
  • 0

How to implement Interfaces in the Data access layer?

Sep 15 2009 9:48 AM

IDE : VS 2008,
Platform : .NET 3.5,

Hi,

I typically dont create interfaces unless i have to, however in my current application i have to create interfaces in the Data access layer. I'm a in a minor confusion that hwo do i create those interfaces more how to implement them:

the following code might make things clear:

I have the following class and interface in the data access namespace

 

using ConsoleApplication8.BusinessLayer;
using ConsoleApplication8.DataAccessLayer ;
using System.Data ;
using System ;

Namespace DataAccessLayer
{

    Public Class CountryGateway : ICountryGateway 
     {      
        public void InitCountry() 
         {
             //write code 
         }
                
        public Int32 saveCountry(ByRef obj As Country) 
      {
            //write code 

      }

        // 
        //implementation for other methods SearchByIndex() SearchByName and UpdateCountry() 
        //
        //

   }

    Interface ICountryGateway {
        void InitCountry() ;
        Int32 saveCountry(ref obj As Country) ;
        DataSet SearchByIndex(countryNo As String)
        DataSet SearchByName(countryName As String);
        Int32 updateCountry(ref country As Country);
    }




}

Namespace BusinessLayer {

    Public Class Country {

    }


}


1. Is this way implement the interface in the data access layer? (in this case the class CountryGateway access the database.) i.e:  That we should create interfaces to access DB in the DAL and then we should also write the implementation for those interfaces in the DAL?

2. I have been told that we should create interfaces than abstract classes espcially in the data access layer, is there a particular reason for this?


Answers (3)