TheInvokerandICommandinterface are implemented together as a delegate  dịch - TheInvokerandICommandinterface are implemented together as a delegate  Việt làm thế nào để nói

TheInvokerandICommandinterface are

TheInvokerandICommandinterface are implemented together as a delegate type (line 9) with its instantiated delegate objects (line 10). The names of the delegate objects (theInvokers) are based on what the client wants; their names areExecute,Redo, and Undo(line 10). The Commandassociates the delegate command objects with the two methods inside theReceiver, Action, and Reverse(lines 14–16). ExecuteandRedo both go toAction, and Undogoes toReverse. The Receiverkeeps track of the state and is responsible for output. This arrangement is unlike previous patterns, where the receivers returned values from their fields for the client to display or not. To adopt the same mechanism, we would make the delegate type return a string, as in: delegate string CommandStr ( );
This implementation is vastly shorter than many of the standard ones because it uses a delegate type (line 9) and instantiates it for three delegate objects in one line (line 10). The object-based solution would have three separate single-method classes for the three invokers. The actual Undo/Redo implementations depend on actual operations to be undone or redone. In the Command pattern, Undo and Redo serve only as abstract placeholders.
Multireceiver commands
What would happen if we had more than one delegate type in the same program, and also more than one receiver? First of all, the names of the delegate types (Invokers) would be different. The Command objects can configure the matches between the delegate objects and differentReceivermethods as required.
In the following program, there are twoCommandclasses and twoReceivers. Because both Commands use the same delegate objects (Invokers), the Client executescommands first in oneReceiverand then in the other; however, that might be an unnecessary constraint. To overcome it, we can either introduce more delegate objects or group them inside theCommands, as shown in the next example. The multireceiver version of the Command pattern in Example 8-4 illustrates in addition how to handle commands that cannot be associated with anything meaningful in a given Receiver, as shown for the secondCommand(lines 25–32).Undois not allowed for this Execute command, so we assign an anonymous delegate to the delegateobject that writes out an error message (line 30). Note that the writing is not done when the association is made, but only when (and if) theClientcallsUndo. Example 8-4. Command pattern theory code—multireceiver version
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
TheInvokerandICommandinterface được thực hiện với nhau như một đại biểu (dòng 9) với các đối tượng instantiated đại biểu (dòng 10). Tên của các đối tượng tham dự (theInvokers) được dựa trên những gì khách hàng muốn; areExecute tên làm lại, và lùi lại (dòng 10). Commandassociates đại biểu chỉ huy các đối tượng với hai phương pháp bên trong theReceiver, hành động, và ngược lại (đường số 14 – 16). ExecuteandRedo cả hai đi toAction, và Undogoes toReverse. Các Receiverkeeps theo dõi của nhà nước và chịu trách nhiệm về sản lượng. Sự sắp xếp này là không giống như các mô hình trước đó, nơi mà các máy thu trở về giá trị từ các lĩnh vực của họ cho khách hàng để hiển thị hoặc không. Để áp dụng cơ chế tương tự, chúng tôi sẽ làm cho các loại đại diện quay trở lại sau một chuỗi, như: đại biểu chuỗi CommandStr ();Việc thực hiện này là bao la ngắn hơn so với nhiều người trong số các tiêu chuẩn ones bởi vì nó sử dụng một loại hình đại diện (dòng 9) và instantiates cho ba đại diện các đối tượng trong một dòng (line 10). Giải pháp dựa trên đối tượng nào có ba lớp học riêng biệt của phương pháp duy nhất cho ba invokers. Triển khai Undo/Redo thực tế phụ thuộc vào các hoạt động thực tế để được hoàn tác hoặc làm lại. Trong mô hình chỉ huy, Undo và Redo phục vụ chỉ như là trừu tượng placeholders.Multireceiver lệnhĐiều gì sẽ xảy ra nếu chúng tôi có nhiều hơn một người đại diện loại trong cùng một chương trình, và cũng nhiều hơn một người nhận? Trước hết, các tên gọi của loại hình đại diện (Invokers) sẽ là khác nhau. Các đối tượng chỉ huy có thể cấu hình các trận đấu giữa các đối tượng người đại diện và differentReceivermethods theo yêu cầu.Trong chương trình sau đây, không có twoCommandclasses và twoReceivers. Bởi vì cả hai lệnh sử dụng các cùng đại diện các đối tượng (Invokers), executescommands khách hàng đầu tiên trong oneReceiverand sau đó ở khác; Tuy nhiên, đó có thể là một hạn chế không cần thiết. Để khắc phục nó, chúng tôi có thể giới thiệu thêm người đại diện đối tượng hoặc nhóm chúng bên trong theCommands, như minh hoạ trong ví dụ sau. Phiên bản multireceiver của mô hình chỉ huy trong ví dụ 8-4 minh họa ngoài ra làm thế nào để xử lý lệnh có thể không được liên kết với bất cứ điều gì có ý nghĩa trong một nhận định, như được hiển thị cho secondCommand (dòng 25-32). Undois không cho phép thực hiện lệnh này, do đó, chúng tôi chỉ định một đại diện vô danh để delegateobject mà viết ra một thông báo lỗi (dòng 30). Lưu ý rằng các văn bản không được thực hiện khi Hiệp hội được thực hiện, nhưng chỉ khi (và nếu) theClientcallsUndo. Ví dụ 8-4. Lệnh mô hình lý thuyết mã-phiên bản multireceiver
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
TheInvokerandICommandinterface được thực hiện với nhau như một loại đại biểu (đường 9) với các đối tượng đại biểu khởi tạo của nó (dòng 10). Tên của các đối tượng đại biểu (theInvokers) được dựa trên những gì khách hàng muốn; tên của họ areExecute, Redo, và Undo (dòng 10). Các Commandassociates lệnh đại biểu các đối tượng với hai phương pháp bên theReceiver, hành động, và ngược (dòng 14-16). ExecuteandRedo cả đi toAction, và Undogoes toReverse. Các Receiverkeeps theo dõi của nhà nước và chịu trách nhiệm về sản lượng. Sự sắp xếp này là không giống như các mô hình trước đó, nơi mà thu trở lại các giá trị từ các lĩnh vực của họ cho khách hàng để hiển thị hay không. Để áp dụng các cơ chế tương tự, chúng tôi sẽ làm cho các loại đại biểu trả về một chuỗi, như trong: đại biểu chuỗi CommandStr ();
thực hiện này là bao la ngắn hơn nhiều trong những tiêu chuẩn bởi vì nó sử dụng một loại đại biểu (đường 9) và khởi tạo nó cho ba đại biểu các đối tượng trong một dòng (dòng 10). Các giải pháp dựa trên đối tượng sẽ có ba lớp học duy nhất phương pháp riêng biệt cho ba invokers. Việc triển khai Undo / Redo thực tế phụ thuộc vào hoạt động thực tế được hoàn hoặc làm lại. Trong mẫu Command, Undo và Redo chỉ phục vụ như giữ chỗ trừu tượng.
Lệnh Multireceiver
Điều gì sẽ xảy ra nếu chúng tôi đã có nhiều hơn một loại đại biểu trong cùng một chương trình, và cũng có nhiều hơn một người nhận? Trước hết, tên của các loại đại biểu (Invokers) sẽ khác nhau. Các đối tượng lệnh có thể cấu hình các trận đấu giữa các đối tượng đại biểu và differentReceivermethods theo yêu cầu.
Trong chương trình sau đây, có twoCommandclasses và twoReceivers. Bởi vì cả hai lệnh sử dụng các đối tượng đại biểu cùng (Invokers), Client executescommands đầu tiên trong oneReceiverand sau đó trong khác; Tuy nhiên, đó có thể là một trở ngại không cần thiết. Để khắc phục nó, ta có thể giới thiệu nhiều đối tượng đại biểu hoặc nhóm chúng bên trong theCommands, như trong ví dụ tiếp theo. Các phiên bản của multireceiver mẫu Command trong Ví dụ 8-4 minh họa ngoài làm thế nào để xử lý các lệnh mà không thể được kết hợp với bất cứ điều gì có ý nghĩa trong một nhận định, như thể hiện cho secondCommand (dòng 25-32) .Undois không được phép cho điều này lệnh Execute , vì vậy chúng tôi chỉ định một đại biểu vô danh với delegateobject mà viết ra một thông báo lỗi (dòng 30). Lưu ý rằng các văn bản không được thực hiện khi các hiệp hội được thực hiện, nhưng chỉ khi (và nếu) theClientcallsUndo. Ví dụ 8-4. Lệnh lý thuyết mô hình phiên bản mã multireceiver
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: