Results (
Vietnamese) 2:
[Copy]Copied!
Một trong những thông điệp chính của định hướng đối tượng được bundling các dữ liệu với các hành vi sử dụng nó. Các cách tiếp cận hướng đối tượng truyền thống dựa trên các đối tượng sắc, dọc theo dòng Domain Model (116). Vì vậy, nếu chúng ta có một lớp nhân viên, bất kỳ thể hiện của nó tương ứng với một nhân viên đặc biệt. Chương trình này hoạt động tốt bởi vì một khi chúng ta có một tham chiếu đến một nhân viên, chúng tôi có thể thực hiện các hoạt động, hãy làm theo các mối quan hệ, và thu thập dữ liệu về anh ta. Một trong những vấn đề với Domain Model (116) là giao diện với các cơ sở dữ liệu quan hệ. Trong nhiều cách tiếp cận này đối xử với các cơ sở dữ liệu quan hệ giống như một cô điên của những người im lặng trong một căn gác và người mà không ai muốn nói về. Kết quả là bạn thường cần thể dục chương trình đáng kể để kéo dữ liệu vào và ra khỏi cơ sở dữ liệu, chuyển đổi giữa hai đại diện khác nhau của dữ liệu. Một Bảng đun tổ chức luận lý tên miền với một lớp cho mỗi bảng trong cơ sở dữ liệu, và một trường hợp duy nhất của một lớp chứa các thủ tục khác nhau mà sẽ hành động trên dữ liệu. Sự khác biệt chính với mô hình Domain (116) là, nếu bạn có nhiều đơn đặt hàng, một mô hình Domain (116) sẽ có một đối tượng đơn hàng trên một trật tự trong khi một bảng Mô-đun sẽ có một đối tượng để xử lý tất cả các đơn đặt hàng. Chương trình hoạt động Sức mạnh của Bảng Module là nó cho phép bạn đóng gói dữ liệu và hành vi với nhau và cùng một lúc chơi để những thế mạnh của một cơ sở dữ liệu quan hệ. Trên bề mặt Bảng đun trông giống như một đối tượng thường xuyên. Sự khác biệt chính là nó không có khái niệm về một bản sắc cho các đối tượng nó làm việc với. Vì vậy, nếu bạn muốn có được địa chỉ của một nhân viên, bạn sử dụng một phương pháp như anEmployeeModule.getAddress (EmployeeID dài). Mỗi khi bạn muốn làm một cái gì đó cho một nhân viên đặc biệt mà bạn phải vượt qua trong một số loại tài liệu tham khảo danh tính. Thường thì điều này sẽ là chìa khóa chính được sử dụng trong các cơ sở dữ liệu. Thông thường bạn sử dụng Bảng Module với một cấu trúc dữ liệu ủng hộ đó là bảng theo định hướng. Các bảng dữ liệu thường là kết quả của một cuộc gọi SQL và được tổ chức tại một Set Record (508) bắt chước một bảng SQL. Bảng Mô-đun cung cấp cho bạn một giao diện dựa trên phương pháp rõ ràng rằng hoạt động trên dữ liệu đó. Nhóm các hành vi với bàn mang lại cho bạn nhiều lợi ích của đóng gói trong đó hành vi này là gần với dữ liệu nó sẽ làm việc trên. Thường thì bạn sẽ cần phải hành vi từ nhiều Modules Bảng để làm một số công việc hữu ích. Nhiều lần bạn nhìn thấy nhiều Bảng Modules hoạt động trên cùng Ghi Set (508) (Hình 9.4). 09fig04.gif Hình 9.4 Một số module Bảng có thể cộng tác với một bản ghi Set duy nhất (508). Ví dụ rõ ràng nhất của Bảng Module là sử dụng một cho mỗi bảng trong cơ sở dữ liệu. Tuy nhiên, nếu bạn có thắc mắc thú vị và quan điểm trong cơ sở dữ liệu bạn có thể có bảng Mô-đun cho họ là tốt. Các Bảng Mô-đun có thể là một ví dụ hoặc nó có thể là một tập hợp các phương pháp tĩnh. Các lợi thế của một thể hiện là nó cho phép bạn khởi tạo các Table Module với một bộ hồ sơ hiện có, có lẽ là kết quả của một truy vấn. Sau đó bạn có thể sử dụng các ví dụ để thao tác các hàng trong tập hợp bản ghi. Trường hợp cũng làm cho nó có thể sử dụng thừa kế, vì vậy chúng tôi có thể viết một module đồng rush chứa hành vi bổ sung cho các hợp đồng thường xuyên. Các Bảng Mô-đun có thể bao gồm các truy vấn như phương pháp nhà máy. Thay thế là một dữ liệu Bảng Gateway (144), nhưng bất lợi của việc này là có một (144) đẳng cấp và cơ chế Data Table thêm Gateway trong thiết kế. Ưu điểm là bạn có thể sử dụng một mô-đun duy nhất trên bảng dữ liệu từ các nguồn dữ liệu khác nhau, kể từ khi bạn sử dụng một khác nhau Bảng liệu Gateway (144) cho mỗi nguồn dữ liệu. Khi bạn sử dụng một dữ liệu Bảng Gateway (144) các ứng dụng đầu tiên sử dụng Bảng liệu Gateway (144) để tổng hợp số liệu trong một Set Record (508). Sau đó, bạn tạo một Module Bảng với Set Record (508) như một đối số. Nếu bạn cần hành vi từ nhiều Modules bảng, bạn có thể tạo ra chúng với các Record cùng Set (508). Sau đó các Table Module có thể làm logic kinh doanh trên Set Record (508) và vượt qua các sửa đổi Ghi Set (508) để trình bày để hiển thị và chỉnh sửa bằng cách sử dụng các vật dụng bảng-aware. Các vật dụng không thể nói nếu bộ hồ sơ đến trực tiếp từ cơ sở dữ liệu quan hệ hoặc nếu một Module Bảng thao tác dữ liệu trên đường ra. Sau khi sửa đổi trong giao diện, các bộ dữ liệu đi lại đến Bảng Module cho xác nhận trước khi nó được lưu vào cơ sở dữ liệu. Một trong những lợi ích của phong cách này là bạn có thể kiểm tra Bảng đun bằng cách tạo ra một Set Record (508) trong bộ nhớ mà không đi đến cơ sở dữ liệu. 09fig05.gif Hình 9.5 tương tác tiêu biểu cho các lớp xung quanh một Table Module. Từ "bảng "trong tên mẫu cho thấy rằng bạn có một bảng Mô-đun cho mỗi bảng trong cơ sở dữ liệu. Trong khi điều này là đúng với xấp xỉ đầu tiên, nó không phải là hoàn toàn đúng. Nó cũng hữu ích để có một Module Bảng cho điểm thường được sử dụng hoặc truy vấn khác. Thật vậy, cấu trúc của bảng Mô-đun không thực sự phụ thuộc vào cấu trúc của bảng trong cơ sở dữ liệu nhưng nhiều hơn trên các bảng ảo cảm nhận của các ứng dụng, bao gồm cả quan điểm và câu truy vấn. Khi để sử dụng nó Table Module được rất nhiều dựa trên Bảng- dữ liệu theo định hướng, vì vậy rõ ràng là sử dụng nó có ý nghĩa khi bạn đang truy cập dữ liệu dạng bảng sử dụng Ghi Set (508). Nó cũng đặt rằng cấu trúc dữ liệu rất nhiều trong các trung tâm của mã này, vì vậy bạn cũng muốn theo cách bạn truy cập vào các cấu trúc dữ liệu là khá đơn giản. Tuy nhiên, Bảng Mô-đun không cung cấp cho bạn toàn bộ sức mạnh của các đối tượng trong tổ chức logic phức tạp. Bạn không thể có trực tiếp dụ-to-dụ mối quan hệ, và đa hình không làm việc tốt. Vì vậy, để xử lý luận lý tên miền phức tạp, một mô hình Domain (116) là một lựa chọn tốt hơn. Về cơ bản, bạn phải đánh đổi Domain Model (116) 's khả năng xử lý logic phức tạp đối với hội nhập dễ dàng hơn Bảng đun với bảng định hướng cấu trúc dữ liệu cơ bản. Nếu các đối tượng trong một mô hình Domain (116) và các bảng cơ sở dữ liệu là tương đối giống nhau, nó có thể được tốt hơn để sử dụng một mô hình Domain (116) có sử dụng Active Record (160). Bảng module làm việc tốt hơn so với một sự kết hợp của Domain Model (116) và Active Record (160) khi các phần khác của ứng dụng được dựa trên một cấu trúc dữ liệu bảng theo định hướng chung. Đó là lý do tại sao bạn không xem Bảng đun rất nhiều trong môi trường Java, mặc dù điều đó có thể thay đổi như bộ hàng trở thành sử dụng rộng rãi hơn. Tình hình nổi tiếng nhất mà tôi đã đi qua mô hình này là trong các thiết kế Microsoft COM. Trong COM (và .NET) Record Set (508) là kho lưu trữ chính của dữ liệu trong một ứng dụng. Bộ hồ sơ có thể được chuyển đến giao diện, nơi mà các vật dụng dữ liệu nhận thức hiển thị thông tin. Thư viện ADO của Microsoft cung cấp cho bạn một cơ chế tốt để truy cập các dữ liệu quan hệ như bộ hồ sơ. Trong tình huống này Bảng Mô-đun cho phép bạn để phù hợp với logic kinh doanh vào các ứng dụng một cách có tổ chức, mà không mất đi theo cách các yếu tố khác nhau làm việc trên các bảng dữ liệu. Ví dụ: Doanh thu nhận với một Table Module (C #) Thời gian để xem lại doanh thu công nhận ví dụ (trang 112) Tôi sử dụng trong các mô hình mô hình miền khác, lần này với một bảng Module. Để nhớ lại, sứ mệnh của chúng tôi là để ghi nhận doanh thu trên đơn đặt hàng khi các quy tắc khác nhau tùy thuộc vào loại sản phẩm. Trong ví dụ này, chúng ta có những quy định khác nhau cho xử lý văn bản, bảng tính, cơ sở dữ liệu và. Bảng Module được dựa trên giản đồ dữ liệu của một số loại, thường là một mô hình dữ liệu quan hệ (mặc dù trong tương lai chúng ta cũng có thể thấy một mô hình XML được sử dụng trong một cách tương tự ). Trong trường hợp này tôi sẽ sử dụng các lược đồ quan hệ trong hình 9.6. 09fig06.gif Hình đồ 9.6 Cơ sở dữ liệu ghi nhận doanh thu. Các lớp học mà thao tác dữ liệu này là khá nhiều giống như hình thức; có một lớp Bảng Module cho mỗi bảng. Trong kiến trúc .NET một đối tượng tập hợp dữ liệu cung cấp một đại diện trong bộ nhớ của một cấu trúc cơ sở dữ liệu. Do đó, nó làm cho tinh thần để tạo ra các lớp học hoạt động trên các tập dữ liệu này. Mỗi lớp học Bảng đun có một thành viên dữ liệu của một bảng dữ liệu, đó là lớp hệ thống NET tương ứng với một bảng trong tập hợp dữ liệu. Khả năng này để đọc một bảng là chung cho tất cả các module Bảng và do đó có thể xuất hiện trong một lớp siêu kiểu (475).
Being translated, please wait..
