One of the key messages of object orientation is bundling the data wit translation - One of the key messages of object orientation is bundling the data wit Vietnamese how to say

One of the key messages of object o

One of the key messages of object orientation is bundling the data with the behavior that uses it. The traditional object-oriented approach is based on objects with identity, along the lines of Domain Model (116). Thus, if we have an Employee class, any instance of it corresponds to a particular employee. This scheme works well because once we have a reference to an employee, we can execute operations, follow relationships, and gather data on him.

One of the problems with Domain Model (116) is the interface with relational databases. In many ways this approach treats the relational database like a crazy aunt who's shut up in an attic and whom nobody wants to talk about. As a result you often need considerable programmatic gymnastics to pull data in and out of the database, transforming between two different representations of the data.

A Table Module organizes domain logic with one class per table in the database, and a single instance of a class contains the various procedures that will act on the data. The primary distinction with Domain Model (116) is that, if you have many orders, a Domain Model (116) will have one order object per order while a Table Module will have one object to handle all orders.

How It Works
The strength of Table Module is that it allows you to package the data and behavior together and at the same time play to the strengths of a relational database. On the surface Table Module looks much like a regular object. The key difference is that it has no notion of an identity for the objects it's working with. Thus, if you want to obtain the address of an employee, you use a method like anEmployeeModule.getAddress(long employeeID). Every time you want to do something to a particular employee you have to pass in some kind of identity reference. Often this will be the primary key used in the database.

Usually you use Table Module with a backing data structure that's table oriented. The tabular data is normally the result of a SQL call and is held in a Record Set (508) that mimics a SQL table. The Table Module gives you an explicit method-based interface that acts on that data. Grouping the behavior with the table gives you many of the benefits of encapsulation in that the behavior is close to the data it will work on.

Often you'll need behavior from multiple Table Modules in order to do some useful work. Many times you see multiple Table Modules operating on the same Record Set (508) (Figure 9.4).


09fig04.gif
Figure 9.4 Several Table Modules can collaborate with a single Record Set (508).

The most obvious example of Table Module is the use of one for each table in the database. However, if you have interesting queries and views in the database you can have Table Modules for them as well.

The Table Module may be an instance or it may be a collection of static methods. The advantage of an instance is that it allows you to initialize the Table Module with an existing record set, perhaps the result of a query. You can then use the instance to manipulate the rows in the record set. Instances also make it possible to use inheritance, so we can write a rush contract module that contains additional behavior to the regular contract.

The Table Module may include queries as factory methods. The alternative is a Table Data Gateway (144), but the disadvantage of this is having an extra Table Data Gateway (144) class and mechanism in the design. The advantage is that you can use a single Table Module on data from different data sources, since you use a different Table Data Gateway (144) for each data source.

When you use a Table Data Gateway (144) the application first uses the Table Data Gateway (144) to assemble data in a Record Set (508). You then create a Table Module with the Record Set (508) as an argument. If you need behavior from multiple Table Modules, you can create them with the same Record Set (508). The Table Module can then do business logic on the Record Set (508) and pass the modified Record Set (508) to the presentation for display and editing using the table-aware widgets. The widgets can't tell if the record sets came directly from the relational database or if a Table Module manipulated the data on the way out. After modification in the GUI, the data set goes back to the Table Module for validation before it's saved to the database. One of the benefits of this style is that you can test the Table Module by creating a Record Set (508) in memory without going to the database.


09fig05.gif
Figure 9.5 Typical interactions for the layers around a Table Module.

The word “table” in the pattern name suggests that you have one Table Module per table in the database. While this is true to the first approximation, it isn't completely true. It's also useful to have a Table Module for commonly used views or other queries. Indeed, the structure of the Table Module doesn't really depend on the structure of tables in the database but more on the virtual tables perceived by the application, including views and queries.

When to Use It
Table Module is very much based on table-oriented data, so obviously using it makes sense when you're accessing tabular data using Record Set (508). It also puts that data structure very much in the center of the code, so you also want the way you access the data structure to be fairly straightforward.

However, Table Module doesn't give you the full power of objects in organizing complex logic. You can't have direct instance-to-instance relationships, and polymorphism doesn't work well. So, for handling complicated domain logic, a Domain Model (116) is a better choice. Essentially you have to trade off Domain Model (116)'s ability to handle complex logic against Table Module's easier integration with the underlying table-oriented data structures.

If the objects in a Domain Model (116) and the database tables are relatively similar, it may be better to use a Domain Model (116) that uses Active Record (160). Table Module works better than a combination of Domain Model (116) and Active Record (160) when other parts of the application are based on a common table-oriented data structure. That's why you don't see Table Module very much in the Java environment, although that may change as row sets become more widely used.

The most well-known situation in which I've come across this pattern is in Microsoft COM designs. In COM (and .NET) the Record Set (508) is the primary repository of data in an application. Record sets can be passed to the UI, where data-aware widgets display information. Microsoft's ADO libraries give you a good mechanism to access the relational data as record sets. In this situation Table Module allows you to fit business logic into the application in a well-organized manner, without losing the way the various elements work on the tabular data.

Example: Revenue Recognition with a Table Module (C#)
Time to revisit the revenue recognition example (page 112) I used in the other domain modeling patterns, this time with a Table Module. To recap, our mission is to recognize revenue on orders when the rules vary depending on the product type. In this example we have different rules for word processors, spreadsheets, and databases.

Table Module is based on a data schema of some kind, usually a relational data model (although in the future we may well see an XML model used in a similar way). In this case I'll use the relational schema from Figure 9.6.


09fig06.gif
Figure 9.6 Database schema for revenue recognition.

The classes that manipulate this data are in pretty much the same form; there's one Table Module class for each table. In the .NET architecture a data set object provides an in-memory representation of a database structure. It thus makes sense to create classes that operate on this data set. Each Table Module class has a data member of a data table, which is the .NET system class corresponding to a table within the data set. This ability to read a table is common to all Table Modules and so can appear in a Layer Supertype (475).
0/5000
From: -
To: -
Results (Vietnamese) 1: [Copy]
Copied!
Một trong những thông điệp chính của định hướng đối tượng bundling dữ liệu với hành vi sử dụng nó. Cách tiếp cận đối tượng theo định hướng truyền thống dựa trên các đối tượng với danh tính, dọc theo dòng của mô hình miền (116). Vì vậy, nếu chúng tôi có một lớp học nhân viên, bất kỳ trường hợp của nó tương ứng với một nhân viên cụ thể. Chương trình này hoạt động tốt bởi vì một khi chúng tôi có một tham chiếu đến một nhân viên, chúng tôi có thể thực thi lệnh, hãy làm theo mối quan hệ, và thu thập dữ liệu về anh ta.Một trong những vấn đề với mô hình miền (116) là giao diện với cơ sở dữ liệu quan hệ. Trong nhiều cách tiếp cận này xử lý cơ sở dữ liệu quan hệ như một dì điên người câm 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 đáng kể chương trình thể dục để 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 mô-đun bàn tổ chức tên miền logic với một lớp 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 học bao gồm 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 miền (116) là, nếu bạn có nhiều đơn đặt hàng, một mô hình tên miền (116) sẽ có một đối tượng đơn đặt hàng cho một đơn đặt hàng trong khi một mô-đun bàn sẽ có một đối tượng để xử lý tất cả các đơn đặt hàng.Làm thế nào nó hoạt độngSức mạnh của mô-đun bàn là nó cho phép bạn để gói dữ liệu và hành vi với nhau và cùng lúc chơi những thế mạnh của cơ sở dữ liệu quan hệ. Trên bề mặt bảng Module trông giống như một đối tượng thường xuyên. Sự khác biệt chính là rằng nó đã không có khái niệm về một danh tính cho các đối tượng đó đang 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(long employeeID). Mỗi khi bạn muốn làm một cái gì đó cho một nhân viên cụ thể, bạn phải vượt qua trong một số loại của danh tính tham khảo. Thường, điều này sẽ là các khóa chính được sử dụng trong cơ sở dữ liệu.Thông thường, bạn sử dụng mô-đun bàn với một cấu trúc dữ liệu sao lưu là bàn theo định hướng. Bảng dữ liệu bình thường là kết quả của một cuộc gọi SQL và được tổ chức trong một kỷ lục thiết lập (508) bắt chước một bảng SQL. Các mô-đun bàn cung cấp cho bạn một giao diện rõ ràng dựa trên phương pháp hành vi trên các dữ liệu đó. Nhóm hành vi với bảng mang đến cho bạn nhiều lợi ích của đóng gói trong các hành vi là gần gũi với các dữ liệu nó sẽ làm việc trên.Thường xuyên, bạn sẽ cần các hành vi từ nhiều bảng mô-đun để làm một số công việc hữu ích. Nhiều lần bạn thấy nhiều mô-đun bàn hoạt động trên các cùng một kỷ lục thiết lập (508) (hình 9.4). 09fig04.gifMô-đun bàn một số con số 9.4 có thể cộng tác với một duy nhất kỷ lục thiết lập (508).Ví dụ rõ ràng nhất của bảng mô-đun 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ú vị các truy vấn và lượt xem trong cơ sở dữ liệu bạn có thể có mô-đun bàn cho họ là tốt.Các mô-đun bàn có thể là một thể hiện hoặc nó có thể là một tập hợp các phương pháp tĩnh. Lợi thế của một thể hiện là nó cho phép bạn để khởi tạo các mô-đun bàn với một bộ thu âm sẵn có, có lẽ là kết quả của một truy vấn. Bạn có thể sử dụng trường hợp để thao tác các hàng trong thiết lập kỷ lục. 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 mô-đun hợp đồng cao điểm có chứa thêm hành vi để hợp đồng thường xuyên.Các mô-đun bàn có thể bao gồm truy vấn như là phương pháp nhà máy. Cách khác là một cửa ngõ dữ liệu bảng (144), nhưng những bất lợi của điều này là có một bảng dữ liệu Gateway (144) hạng và cơ chế trong thiết kế. Lợi thế là bạn có thể sử dụng một mô-đun bàn duy nhất trên các dữ liệu từ các nguồn dữ liệu khác nhau, kể từ khi bạn sử dụng một cửa ngõ dữ liệu bảng khác nhau (144) cho mỗi nguồn dữ liệu.Khi bạn sử dụng một bảng dữ liệu Gateway (144) các ứng dụng đầu tiên sử dụng các bảng dữ liệu Gateway (144) để lắp ráp các dữ liệu trong một kỷ lục thiết lập (508). Bạn sau đó tạo ra một mô-đun bàn với thiết lập kỷ lục (508) như là đối số. Nếu bạn cần các hành vi từ nhiều bảng mô-đun, bạn có thể tạo chúng với các cùng một kỷ lục thiết lập (508). Các mô-đun bàn sau đó có thể làm logic kinh doanh trên các kỷ lục thiết lập (508) và vượt qua các sửa đổi hồ sơ đặt (508) để trình bày cho hiển thị và chỉnh sửa bằng cách sử dụng các vật dụng bảng nhận thức. 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 mô-đun Bàn thao túng dữ liệu trên đường ra. Sau khi sửa đổi trong giao diện, tập hợp dữ liệu đi lại cho các mô-đun bàn để 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 các mô-đun bàn bằng cách tạo ra một kỷ lục thiết lập (508) trong bộ nhớ mà không đi đến cơ sở dữ liệu. 09fig05.gifCon số 9.5 điển hình tương tác cho các lớp xung quanh một mô-đun bàn.Từ "bảng" trong tên mô hình cho thấy rằng bạn có một mô-đun bàn một bảng trong cơ sở dữ liệu. Trong khi điều này là đúng với xấp xỉ bậc nhất, nó không phải là hoàn toàn đúng. Nó cũng có ích để có một mô-đun bàn cho quan đ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 các mô-đun bàn 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 thêm vào các bảng ảo cảm nhận của các ứng dụng, bao gồm cả quan điểm và truy vấn.Khi sử dụng nóMô-đun bàn rất nhiều dựa trên dữ liệu bảng theo định hướng, vì vậy, rõ ràng bằng cách sử dụng nó làm cho cảm giác khi bạn đang truy cập vào bảng dữ liệu bằng cách sử dụng thiết lập kỷ lục (508). Nó cũng đặt cấu trúc dữ liệu đó rất nhiều ở giữa của mã, do đó, bạn cũng muốn cách bạn truy cập vào cấu trúc dữ liệu là khá đơn giản.Tuy nhiên, mô-đun bàn không cung cấp cho bạn toàn bộ sức mạnh của các đối tượng trong việc tổ chức phức tạp logic. Bạn không thể có trực tiếp ví dụ thể hiện mối quan hệ, và đa hình không làm việc tốt. Vì vậy, để xử lý phức tạp miền logic, mô hình miền (116) là một sự lựa chọn tốt hơn. Về cơ bản bạn có thể thương mại tắt mô hình tên miền (116) khả năng xử lý phức tạp logic chống lại của mô-đun bàn tích hợp dễ dàng hơn với cấu trúc bảng theo định hướng dữ liệu nằm bên dưới.Nếu các đối tượng trong một mô hình tên miền (116) và các bảng cơ sở dữ liệu là tương tự tương đối, nó có thể tốt hơn để sử dụng một mô hình tên miền (116) có sử dụng bản ghi hoạt động (160). Mô-đun bàn làm việc tốt hơn so với một sự kết hợp của mô hình miền (116) và hoạt động ghi (160) khi các bộ phận khác của ứng dụng được dựa trên một cấu trúc dữ liệu theo định hướng bảng phổ biến. Đó là lý do tại sao bạn không thấy bảng Module rất nhiều trong môi trường Java, mặc dù rằng có thể thay đổi khi hàng bộ 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 Microsoft COM thiết kế. Trong COM (và .NET) thiết lập kỷ lục (508) là kho chính của dữ liệu trong một ứng dụng. Hồ sơ bộ có thể được chuyển đến giao diện người dùng, nơi dữ liệu nhận thức widget 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 dữ liệu quan hệ như hồ sơ bộ. Trong tình huống này bảng Module cho phép bạn để phù hợp logic kinh doanh với các ứng dụng một cách tổ chức tốt, mà không làm mất cách các yếu tố khác nhau làm việc trên bảng dữ liệu.Ví dụ: Doanh thu công nhận với một mô-đun bàn (C#)Thời gian để vào lại doanh thu công nhận mẫu (trang 112) tôi sử dụng trong tên miền khác mà mô hình mô hình, thời gian này với một mô-đun bàn. Để recap, nhiệm vụ của chúng tôi là để nhận ra 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 tôi có các quy tắc khác nhau cho bộ vi xử lý từ, bảng tính, và cơ sở dữ liệu.Mô-đun bàn dựa trên một lược đồ 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 tôi 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 lược đồ quan hệ từ con số 9.6. 09fig06.gifCon số 9.6 giản đồ cơ sở dữ liệu cho doanh thu công nhận.Các lớp học thao tác dữ liệu này khá nhiều dưới hình thức tương tự; đó là một lớp bảng Module cho mỗi bảng. Trong kiến trúc .NET một đối tượng dữ liệu thiết lập cung cấp một đại diện trong bộ nhớ của một cấu trúc cơ sở dữ liệu. Nó do đó làm cho tinh thần để tạo ra các lớp học hoạt động ngày này tập hợp dữ liệu. Mỗi lớp bảng Module 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 các thiết lập dữ liệu. Khả năng này để đọc một bảng là phổ biến cho tất cả các mô-đun bàn và do đó có thể xuất hiện trong một lớp Supertype (475).
Being translated, please wait..
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..
 
Other languages
The translation tool support: Afrikaans, Albanian, Amharic, Arabic, Armenian, Azerbaijani, Basque, Belarusian, Bengali, Bosnian, Bulgarian, Catalan, Cebuano, Chichewa, Chinese, Chinese Traditional, Corsican, Croatian, Czech, Danish, Detect language, Dutch, English, Esperanto, Estonian, Filipino, Finnish, French, Frisian, Galician, Georgian, German, Greek, Gujarati, Haitian Creole, Hausa, Hawaiian, Hebrew, Hindi, Hmong, Hungarian, Icelandic, Igbo, Indonesian, Irish, Italian, Japanese, Javanese, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Korean, Kurdish (Kurmanji), Kyrgyz, Lao, Latin, Latvian, Lithuanian, Luxembourgish, Macedonian, Malagasy, Malay, Malayalam, Maltese, Maori, Marathi, Mongolian, Myanmar (Burmese), Nepali, Norwegian, Odia (Oriya), Pashto, Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Samoan, Scots Gaelic, Serbian, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenian, Somali, Spanish, Sundanese, Swahili, Swedish, Tajik, Tamil, Tatar, Telugu, Thai, Turkish, Turkmen, Ukrainian, Urdu, Uyghur, Uzbek, Vietnamese, Welsh, Xhosa, Yiddish, Yoruba, Zulu, Language translation.

Copyright ©2025 I Love Translation. All reserved.

E-mail: