Giao diện (interface) trong C# giới thiệu và ví dụ điển hình áp dụng trong mẫu thiết kế Repository

Giao diện (interface) trong C# giới thiệu và ví dụ điển hình áp dụng trong mẫu thiết kế Repository
access_time 10/25/2015 12:00:00 AM
person Lê Đình Thành

Mục đích sử dụng

Một interface giống như class, nhưng không có phần thực thi. Trong đó interface chỉ chứa các khai báo: Một lý do tại sao interface chỉ chứa khai báo vì nó được kế thừa để thực thi bởi cả các lớp (class) và cấu trúc (struct)
Vậy, đâu là lợi thế khi interface không thực thi các chức năng?
Đó là vì trong các kiến trúc hệ thống làm việc với nhau theo dạng cắm – chạy (plug-n-play), các thành phần ở đó sẽ trao đổi thông tin cho nhau. Khi trao đổi thông tin, các thành phần sẽ thực thi chung interface, việc này có thể được sử dụng mà không cần phải viết thêm code. Theo đó, các interface sẽ bắt buộc các thành phần cung cấp đầy đủ các thành viên (member) ở dạng công khai (public) để được sử dụng theo cùng một cách thống nhất.
Bởi vì các interface được thực thi bởi các lớp và cấu trúc dẫn xuất nên chúng định nghĩa ra một bản giao kèo (contract).

Một số đặc tính nổi bật của interface

Định nghĩa một interface

Trong khai báo interface thì thành phần bắt buộc phải có gồm:  

Ví dụ một số ví dụ nhỏ khai báo interface

Sử dụng interface để tạo lớp thực thi chúng

Ví dụ điển hình áp dụng interface trong thiết kế mẫu Repository

Để đơn giản ví dụ mẫu sẽ chọn cách thực thi code với các chú ý sau:  
 
 
Ta lần lượt tạo các thành phần với mã nguồn như sau:
 
 
 
 
Để kiểm soát sự cập nhật thay đổi model ánh xạ lên database ta sử dụng chức năng Migration của EntityFramework.  
Cuối cùng ta sẽ test trên giao diện console ứng dụng bằng cách bổ xung code trong phương thức Main của file Program.cs
Và đây là thành quả khi chạy chương trình:
 
 
vertical_align_top
share
Chat...