Thứ Ba, 4 tháng 5, 2010

Khái niệm WorkItem của CAB vả SCSF

WorkItem được hiểu như một container chuyên chở cho các component cùng làm việc trọn vẹn một Use case. Đặc biệt , container này là bộ thực thi chương trình (theo thuật ngữ tiếng anh là : run-time container).

Thứ Năm, 29 tháng 4, 2010

Khái niệm Shell của CAB và SCSF

Trong CAB và SCSF có nhiều khái niệm mà chúng ta cần ghi nhớ, và hiểu rõ để ứng dụng vào trong quá trình chúng ta xây dựng các software application.
Để hiểu rõ các khái niệm của thành phần này, mình cố gắn giải thích các khái niệm và kèm them các thành phần code để diễn giải các khái niệm đó.
Hôm nay mình nói đến khái niệm đầu tiên của mô hình và là khái niệm chủ chốt xuyên suốt một application.

Thứ Tư, 28 tháng 4, 2010

Cài Đặt CAB và SCSF

Chào các bạn, bài viết cung cấp các thông tin cho các bạn bắt đầu sử dụng với 2 pattern CAB (Composite UI application Block) và SCSF (Smart Client Software Factory).

Bạn cần có các kiến thức sau để tham gia 2 pattern trên :
  • Microsoft Visual Basic or Microsoft Visual C#
  • Windows Forms
  • Microsoft .NET Framework 3.5 

Thứ Bảy, 24 tháng 4, 2010

Service trong SCSF và CAB

Trong mô hình SCSF and CAB , chúng ta có đề cập đến việc sử dụng các Service trong module.

Trong mô hình CAB, CAB Service được thiết lập như một Object cung cấp các tính năng cho các thành phần (component) khác . Dĩ nhiên nó có thế mạnh là sử dụng các tính năng này như một service, được truy cập dễ dàng vào các thành phần tính năng khác ở mọi nơi trong ứng dụng. ráp nối các thành phần tính năng lại để hoàn thành một component trong tính năng của một ứng dụng.

Ví dụ : cung cấp các logging, các error handler, các event broker, các chuyển đổi dữ liệu sao cho phù hợp với ứng dụng từ các thành phần dữ liệu khác như (Web service), cung cấp các liên kết với các thiết bị, các phần cứng, cung cấp các thiết lập, các xác lập, các bảo mật v..v.. .
Để cho dễ hiểu , chúng ta có thể tạo ra một Service của riêng chúng ta .

Ví dụ cách tạo và sử dụng một service cung cấp bởi module trong mô hình SCSF và CAB:

Đầu tiên ta có một  Service Interface

public Interface IMyservice
{
      string GetService();
}
 Có một class chính là service được thừa kết từ  service interface, định nghĩa các hàm hay các element theo interface.
public class MyService : IMyService
{
   public string GetService()
  {
     // code something here
  }
}
Tạo ra service :
Mở file ModuleController.cs của bạn. Trong đây bạn sẽ thấy một method tên là AddService(),
Ở đây bạn sẽ tạo ra service của bạn bằng việc code như sau :

public void AddService()
{
    WorkItem.Service.AddNew();
}
hoặc trên cùng của class service sử dụng attribute sau :

[Service (typeof(IMyService))]
public class MyService : IMyService
{
    public string GetService()
  {
     // code something here
  }
}

Thứ Năm, 22 tháng 4, 2010

Model - View - Presenter

Mô hình Model - View - Presenter được phát triển  phổ biến nhất ngày này.




  1. View : là các UI, Form, Control (cả Window application and Web application).
  2. Presenter : nắm giữ cách trao đổi dữ liệu giữa view và model, tương tác các business logic với view, thực hiện các Service mà View sẽ sử dụng đến cũng như các event cần thiết mà view phải thực thi.
  3. Model : định nghĩa, lưu trữ kiểu dữ liệu và những dữ liệu sẽ sử dụng.

Note : Presenter không nắm giữ bất kỳ User Interface nào trong View. rõ ràng hơn Presenter không hề quan tâm đến ta sẽ sử dụng các user interface nào của view. nhưng Presenter giữ liên lạc hay còn gọi tương tác với View thông qua một View Interface.


Do cách thiết kế tách biệt việc hành xử của Presenter và View đem lại lợi ích sau :

- Bạn có thể tái sử dụng các business logic .
- Dễ dàng Test các tính năng mà không cần phải chạy trên UI layer đang thiết kế.
- Dễ dàng sử dụng các UI layer bất kỳ, thay đổi UI layer mà không ảnh hưởng đến các logic liên quan.