8:00 AM
1
Hey Gwener's, What's Up!
Pernahkah sobat mengalami kendala ketika 2 objek atau lebih saling keterkaitan yang membutuhkan satu sama lain. Misalnya saja Control dengan dengan database. Tak jarang developer menggabungkan 2 objek ini menjadi satu saja. Berdasarkan Konsep OOP ini sangat tidak baik. 2 Objek ini berbeda dan memiliki fungsi tersendiri.
Salah satu fitur yang bisa sobat manfaatkan adalah menggunakan Interface. Konsep interface sama halnya dengan input-output ada masukan yang perlu di berikan untuk mendapatkan output (hasil) yang diharapkan. Interface ini bisa digunakan untuk menghubungkan 2 objek atau lebih yang saling berkaitan.
Baik, saya punya contoh interface untuk melakukan dan berfungsi sebagai konteks database. Interface ini dibangun untuk melakukan fungsi insert, update, delete dan get atau yang sering disebut dengan istilah CRUD.
interface IDb where T : class
{
 void Insert(T input);
 void Update(T input);
 void Delete(T input);
 void Get(object id);
 void GetAll();
}
interface ini bisa sobat gunakan untuk melakukan fungsi CRUD terhadap object yang akan dimanipulasi misalkan object class berupa Employee.
class Employee
{
 public string Id {get;set;}
 public string Name {get;set;}
 public string Job {get;set;} 
 //...
}
Kembali ke bahasan kita diatas interface ini bisa sobat implement pada control yang akan sobat gunakan.
class EmployeeControl : UserControl
{
 public IDb EmployeeContext {get;set;}
 
 public EmployeeControl(){
  //Do Stuff with EmployeeContext
 }
 //...
}
Nah, demikianlah konsep interface yang sederhana. Sobat bisa mengkombinasikannya untuk logika lebih kompleks. Seperti menggunakan konsep delegate. Berikut sudah saya jelaskan pada artikel sebelumnya di Konsep delegate pada .Net untuk menghandle base objek

1 comments: