2009-01-25 26 views
6

Tôi đang trong quá trình đánh giá việc sử dụng các CAB cho một dự án 3,5 Winform .net mớiÝ kiến ​​của bạn về MS CAB (Composite Application Block) là gì?

tôi có kế hoạch để sử dụng các công cụ Infragistics, which is known to be 'CAB compliant'

Trong khi CAB có xu hướng tăng ngay lập tức cho tôi tập trung vào doanh nghiệp của tôi thay vì mã hóa mã docking/login/etc cơ bản, tôi cảm thấy như tôi có thể đạt được cùng một mức độ chức năng khá tự tin (với tính linh hoạt/phản ứng bổ sung mà bạn có khi bạn 'sở hữu' mã).

Tôi đang tìm kiếm một số thông tin phản hồi trên CAB của Microsoft từ những người sử dụng nó:

  1. Bạn đã trải qua những vấn đề/lỗi?
  2. Bạn có cảm thấy như CAB đã tiết kiệm thời gian của bạn không?
  3. Có chức năng thêm Tôi không biết về (bên cạnh Docking/Đăng nhập/WorkerThreads thực hành tốt nhất?)
+0

Liên kết ở trên không còn hợp lệ. Tôi đã tìm kiếm [Composite Application Block] (http://www.infragistics.com/help/search?q=Composite%20Application%20Block) và tìm thấy [Tổng quan về các thành phần mở rộng NetAdvantage CAB] (http: // www. infragistics.com/help/topic/7b645338-0b4b-44d6-925f-7d43584575dc) trông giống như một điểm khởi đầu tốt. – surfmuggle

Trả lời

0

Trong khi tôi đã không bao giờ thực sự sử dụng CAB, nó tàu với mã nguồn, do đó bạn vẫn muốn có khả năng tinh chỉnh nó cho phù hợp với nhu cầu chính xác của bạn nếu bạn cần thêm tính linh hoạt không được cung cấp bởi Khối ứng dụng.

+0

Tôi vẫn bị buộc phải đăng ký lại các sửa đổi của mình nếu tôi muốn nâng cấp lên bản phát hành mới của CAB, chẳng hạn. – Brann

+0

Rất đúng nhưng tôi sẽ tận dụng những nỗ lực của người khác cho đến khi logic kinh doanh của tôi là âm thanh và sau đó suy nghĩ về bất kỳ cải tiến hệ thống ống nước bằng cách loại bỏ phụ thuộc khó chịu ... UX là tất cả mọi thứ nhưng CAB không thể là xấu trừ khi bạn kết thúc chặt chẽ khớp nối kinh doanh của bạn logic với giao diện người dùng. –

7

Tôi đã có một số kinh nghiệm sử dụng CAB một vài năm trước và kết luận của tôi là nó quá phức tạp và có một đường cong học tập dốc. Vì vậy, những lợi ích mà nó cung cấp chỉ không đáng để tăng giá với nó. Tuy nhiên, đừng dùng từ ngữ của tôi cho nó, hãy thử làm theo một số phòng thí nghiệm của họ và xem bạn nghĩ gì.

Jeremy Miller đã viết một loạt tuyệt vời của bài đăng trên blog về việc xây dựng CAB riêng bạn

http://codebetter.com/blogs/jeremy.miller/archive/2007/07/25/the-build-your-own-cab-series-table-of-contents.aspx

đây là những giá trị một cái nhìn như bạn chỉ có thể kéo dài từ đó những gì bạn cần.

Lời khuyên của tôi sẽ là tiếp tục với dự án của bạn thay vì xây dựng một khung lên phía trước. Khi dự án phát triển, bạn nên phát hiện các cơ hội để tái cấu trúc mã thành các lớp cơ sở và thu hoạch hiệu quả một khuôn khổ từ ứng dụng của bạn.

Bằng cách đó bạn sẽ kết thúc với một khuôn khổ đáp ứng nhu cầu của bạn và mọi người trong nhóm phát triển sẽ hiểu. Bất cứ điều gì bạn làm không xây dựng một khuôn khổ lên phía trước - có nằm con đường để hủy hoại :-)

4

Chúng tôi đã sử dụng CAB + SCSF cho một vài dự án. Đường cong học tập thực sự dốc. Bạn có thể sẽ tăng tốc sau tháng đầu tiên. nhược điểm khác:

  1. Quá nhiều phức tạp
  2. Pattern-ITIS
  3. thế hệ Mã sưng lên
  4. cứng để gỡ lỗi

Các ưu:

theo thông lệ tốt nhất thiết kế kiến ​​trúc các mẫu trong ngành:

  1. Model-View-Presenter
  2. UI Thành phần
  3. tiêm phụ thuộc, Inversion of Control
  4. Sự kiện
  5. lỏng
  6. mô đun
  7. vv ...

Sử dụng CAB-SCSF về lâu dài sẽ có nghĩa là ít lỗi hơn và nhiều mã bảo trì hơn. Nếu dự án của bạn có thể đủ khả năng hit ban đầu của đường cong học tập, tôi chắc chắn sẽ giới thiệu nó.

+2

Điểm 3 có thể nói "Dependency Injection" (hoặc "Inversion of Control Container") – galaktor

+1

Đường cong học tập chỉ dốc đối với những người không có kiến ​​thức về các mẫu thiết kế OO. Tôi có một đội 6 người; 3 biết OO và các mẫu thiết kế, và 3 khác thì không. Những người có kiến ​​thức đã đưa đến CAB/SCSF như vịt để nước với tăng năng suất ngay lập tức. Những người không, thực tế bị chết đuối; chủ yếu là vì họ không quan tâm đến OO hoặc các mẫu thiết kế. –

+0

Các sự kiện được ghép nối lỏng lẻo cũng có thể là một nhược điểm ... Ví dụ, không có kiểm tra thời gian biên dịch rằng chữ ký xử lý sự kiện được mong đợi bởi người gọi. –

1

CAB được gỡ bỏ để ủng hộ SCSF. Cả CAB và SCSF đều đưa ra một số giá trị về tiêu chuẩn hóa phát triển khách hàng phong phú trên các dự án (nếu bạn sử dụng chúng theo cách đó), nhưng cả hai đều rất nặng.

+3

SCSF gói gọn CAB; CAB không được gỡ bỏ. –

0

Chúng tôi đã xây dựng ứng dụng doanh nghiệp của mình trên khung CAB, nhưng đã sửa đổi nhiều phần của nó cho phù hợp với nhu cầu của chúng tôi. Từ kinh nghiệm đó, tôi có thể nói rằng CAB là phù hợp hơn, khi bạn cần một kiến ​​trúc rất linh hoạt và mô-đun và có sự phân chia rõ ràng giữa sự phát triển cho ui, logic nghiệp vụ và lớp dữ liệu.

CAB có những nhược điểm của việc có nhiều mã được tạo ra và đôi khi khiến các nhà phát triển sử dụng các cơ chế phức tạp để đạt được kết quả đơn giản (như sử dụng quá nhiều mô hình/mô hình đăng ký sự kiện, mô hình mvp cho cả ui đơn giản nhất, ...)

Nếu bạn muốn giới thiệu về này, có một loạt tuyệt vời bởi Rich Newman tại http://richnewman.wordpress.com/intro-to-cab-toc/

Nếu bạn chỉ muốn tận dụng Dependency Injection/Inversion of Control, sau đó được quản lý Khả năng mở rộng khung (http://mef.codeplex.com/), có thể là một lựa chọn rất tốt, nhẹ.

Các vấn đề liên quan