In the preceding implementation, we keep a reference to each subordina dịch - In the preceding implementation, we keep a reference to each subordina Việt làm thế nào để nói

In the preceding implementation, we

In the preceding implementation, we keep a reference to each subordinate in the Collection in each Boss class. This means that you can move down the chain from the president to any employee, but there is no way to move back up to find out who an employee’s supervisor is. This is easily remedied by providing a constructor for each AbstractEmployee subclass that includes a reference to the parent node.

Then you can quickly walk up the tree to produce a reporting chain.

Consequences of the Composite Pattern
The Composite pattern allows you to define a class hierarchy of simple objects
and more complex composite objects so they appear to be the same to the client
program. Because of this simplicity, the client can be that much simpler, since
nodes and leaves are handled in the same way.
The Composite pattern also makes it easy for you to add new kinds of
components to your collection as long as they support a similar programming
interface. On the other hand, this has the disadvantage of making your system
overly general. You might find it harder to restrict certain classes where this
would normally be desirable.
A Simple Composite
The intent of the Composite pattern is to allow you to construct a tree of vari
ous related classes, even though some have different properties than others and
some are leaves that do not have children. However, for very simple cases, you
can sometimes use just a single class that exhibits both parent and leaf behavior.
In the SimpleComposite example, we create an Employee class that always con
tains the ArrayList subordinates. This collection of employees will either be
from the getChild and remove methods. In this simple case, we do not raise

errors and always allow leaf nodes to be promoted to have child nodes. In other
words, we always allow execution of the add method.
While you may not regard this automatic promotion as a disadvantage, in
systems where there are a very large number of leaves, it is wasteful to keep a
Collection initialized and unused in each leaf node. In cases where there are rel
atively few leaf nodes, this is not a serious problem.
Composites in .NET
In .NET, you will note that the Node object class we use to populate the Tree
View is in fact just such a simple Composite pattern. You will also find that the
Composite describes the hierarchy of Form, Frame, and Controls in any user
interface program. Similarly, toolbars are containers, and each may contain any
number of other containers.
Any container may then contain components such as buttons, check boxes,
and TextBoxes, each of which is a leaf node that cannot have further children.
They may also contain ListBoxes and grids that may be treated as leaf nodes or
that may contain further graphical components. You can walk down the Com
posite tree using the Controls collection.
Other Implementation Issues
Ordering components. In some programs, the order of the components may
be important. If that order is somehow different from the order in which they
were added to the parent, then the parent must do additional work to return
them in the correct order. For example, you might sort the original collection
alphabetically and return a new sorted collection.
Caching results. If you frequently ask for data that must be computed from a
series of child components, as we did here with salaries, it may be advantageous
to cache these computed results in the parent. However, unless the computation
is relatively intensive and you are quite certain that the underlying data have not
changed, this may not be worth the effort.
Thought Questions
1. A baseball team can be considered an aggregate of its individual players. How
could you use a Composite to represent individual and team performance?
mance by food item. Suggest how a Composite might be helpful.
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Trong việc thực hiện trước, chúng tôi giữ cho một tham chiếu đến từng đơn vị hành chính trong các bộ sưu tập ở mỗi lớp học ông chủ. Điều này có nghĩa rằng bạn có thể di chuyển xuống các dây chuyền từ tổng thống đến bất kỳ nhân viên, nhưng không có cách nào để di chuyển trở lại để tìm ra ai là một nhân viên giám sát. Điều này dễ dàng được khắc phục bằng cách cung cấp một nhà xây dựng cho mỗi phân lớp AbstractEmployee bao gồm một tham chiếu đến các nút cha mẹ.Sau đó, bạn có thể nhanh chóng đi bộ lên cây để tạo ra một chuỗi các báo cáo.Hậu quả của các mô hình tổng hợpCác mô hình hỗn hợp cho phép bạn xác định một hệ thống phân cấp lớp của các đối tượng đơn giảnvà các đối tượng hỗn hợp phức tạp hơn do đó họ xuất hiện tương tự cho khách hàngchương trình. Vì đơn giản này, khách hàng có thể là rằng đơn giản hơn nhiều, kể từcác nút và lá được xử lý theo cùng một cách.Các mô hình hỗn hợp cũng làm cho nó dễ dàng cho bạn để thêm các loại mới củabộ sưu tập của miễn là họ hỗ trợ một chương trình tương tự như các thành phầngiao diện. Mặt khác, điều này có bất lợi của việc hệ thống của bạnquá nói chung. Bạn có thể tìm thấy nó khó khăn hơn để hạn chế một số lớp học nơi đâythông thường sẽ mong muốn.Một hỗn hợp đơn giảnMục đích của các mô hình hỗn hợp là để cho phép bạn xây dựng một cây variAnh liên quan đến các lớp học, mặc dù một số có các thuộc tính khác nhau hơn những người khác vàmột số có lá mà không có con. Tuy nhiên, đối với trường hợp rất đơn giản, bạnđôi khi có thể sử dụng chỉ cần một lớp học duy nhất trưng bày hành vi của cha mẹ và lá.Trong ví dụ SimpleComposite, chúng tôi tạo ra một lớp nhân viên đó luôn contains cấp dưới ArrayList. Bộ sưu tập này của nhân viên hoặc là sẽ cótừ các phương pháp getChild và loại bỏ. Trong trường hợp này đơn giản, chúng tôi không tănglỗi và luôn luôn cho phép các nút lá để được lên có nút con. Kháclời nói, chúng tôi luôn luôn cho phép thực hiện các phương pháp thêm.Trong khi bạn có thể không quan tâm chương trình tự động này như là một bất lợi, trongHệ thống trong trường hợp có một số lượng rất lớn của lá, nó là lãng phí để giữ cho mộtBộ sưu tập khởi tạo và không sử dụng mỗi nút lá. Trong trường hợp nơi có relatively vài lá nút, đây không phải là một vấn đề nghiêm trọng.Composites trong .NETTại net, bạn sẽ lưu ý rằng các lớp đối tượng nút sử dụng để đưa câyXem trong thực tế là chỉ như là một mô hình hỗn hợp đơn giản. Bạn cũng sẽ thấy rằng cácHỗn hợp mô tả hệ thống cấp bậc của mẫu, khung hình và điều khiển trong bất kỳ người sử dụnggiao diện chương trình. Tương tự như vậy, thanh công cụ là container, và mỗi có thể chứa bất kỳsố lượng các loại thùng đựng khác.Bất kỳ container sau đó có thể chứa các thành phần như các nút, hộp kiểm tra,và TextBoxes, mỗi trong số đó là một nút lá không thể có thêm con.Họ cũng có thể chứa ListBoxes và lưới mà có thể được coi là lá hoặcmà có thể chứa thêm thành phần đồ họa. Bạn có thể đi bộ xuống Composite cây bằng cách sử dụng bộ sưu tập kiểm soát.Thực hiện các vấn đề khácĐặt hàng linh kiện. Trong một số chương trình, thứ tự của các thành phần có thểđược quan trọng. Nếu đó là bằng cách nào đó khác với thứ tự mà trong đó họđã được thêm vào cha mẹ, sau đó cha mẹ phải làm thêm công việc để trở vềchúng theo thứ tự đúng. Ví dụ, bạn có thể sắp xếp bộ sưu tập ban đầutheo thứ tự ABC và trở lại một bộ sưu tập mới được sắp xếp.Bộ nhớ đệm kết quả. Nếu bạn thường xuyên yêu cầu dữ liệu phải được tính toán từ mộtloạt phụ kiện trẻ em, như chúng ta đã làm ở đây với tiền lương, nó có thể được thuận lợivới bộ nhớ cache các kết quả tính toán ở cha mẹ. Tuy nhiên, trừ khi những tính toánlà tương đối sâu và bạn đang khá chắc chắn rằng các dữ liệu cơ bản không cóthay đổi, điều này không có giá trị nỗ lực.Suy nghĩ câu hỏi1. một đội bóng chày có thể được coi là một tổng hợp của người chơi cá nhân của mình. Làm thế nàobạn có thể sử dụng một hỗn hợp để đại diện cho cá nhân và nhóm hiệu suất?Mance bởi hàng thực phẩm. Đề nghị làm thế nào một hỗn hợp có thể là hữu ích.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Trong việc thực hiện trước đó, chúng tôi giữ một tham chiếu đến từng cấp dưới trong bộ sưu tập trong mỗi lớp Boss. Điều này có nghĩa rằng bạn có thể di chuyển xuống các chuỗi từ tổng thống cho bất kỳ nhân viên, nhưng không có cách nào để di chuyển trở lên để tìm ra những người giám sát của nhân viên là. Điều này có thể dễ dàng khắc phục bằng cách cung cấp một nhà xây dựng cho mỗi lớp con AbstractEmployee bao gồm một tham chiếu đến nút cha.

Sau đó, bạn có thể nhanh chóng đi lên cây để sản xuất một chuỗi báo cáo.

Hậu quả của các mẫu tổng hợp
Các mẫu hợp cho phép bạn xác định một hệ thống phân cấp lớp của các đối tượng đơn giản
và các đối tượng tổng hợp phức tạp hơn vì vậy chúng xuất hiện để được giống cho khách hàng
chương trình. Bởi vì đơn giản này, khách hàng có thể được đơn giản mà nhiều, vì
các nút lá được xử lý trong cùng một cách.
Các mô hình hợp cũng làm cho nó dễ dàng cho bạn để thêm các loại mới của
các thành phần vào bộ sưu tập của bạn miễn là họ ủng hộ một chương trình tương tự
giao diện. Mặt khác, điều này có bất lợi làm cho hệ thống của bạn
quá chung chung. Bạn có thể tìm thấy nó khó khăn hơn để hạn chế các lớp học nhất định, nơi này
thường sẽ được mong muốn.
A Simple composite
Mục đích của mô hình Composite là để cho phép bạn xây dựng một cây vari
lớp học độc hại có liên quan, mặc dù một số có đặc tính khác nhau hơn so với những người khác và
một số là lá mà không có con. Tuy nhiên, đối với những trường hợp rất đơn giản, bạn
có thể sử dụng đôi khi chỉ là một lớp duy nhất rằng cuộc triển lãm cả phụ huynh và hành vi lá.
Trong ví dụ SimpleComposite, chúng tôi tạo ra một lớp Employee luôn con
địa bao gồm các cấp dưới ArrayList. Bộ sưu tập này của nhân viên hoặc sẽ
từ getChild và loại bỏ các phương pháp. Trong trường hợp đơn giản này, chúng ta không làm tăng

các lỗi và luôn luôn cho phép các nút lá được đẩy mạnh để có các nút con. Trong khác
từ, chúng ta luôn luôn cho phép thực hiện các phương thức add.
Trong khi bạn có thể không coi xúc tiến tự động này là một bất lợi, trong
các hệ thống mà có một số lượng rất lớn của lá, nó là lãng phí để giữ một
Bộ sưu tập khởi và không sử dụng trong mỗi lá nút. Trong trường hợp có rel
atively vài nút lá, đây không phải là một vấn đề nghiêm trọng.
Composites trong NET
Trong .NET, bạn sẽ thấy rằng các lớp đối tượng Node chúng tôi sử dụng để cư Tree
View là trên thực tế chỉ là một mô hình hợp đơn giản như vậy . Bạn cũng sẽ thấy rằng các
hợp mô tả các hệ thống cấp bậc của Form, Frame, và điều khiển trong bất kỳ người sử dụng
giao diện chương trình. Tương tự như vậy, các thanh công cụ là các thùng chứa, và mỗi thể chứa bất kỳ
số lượng các container khác.
Sau đó Bất kỳ chứa có thể chứa các thành phần như các nút, hộp kiểm tra,
và các hộp, mỗi trong số đó là một nút lá mà không thể có con nữa.
Họ cũng có thể chứa các hộp thoại liệt kê và lưới có thể được coi là nút lá hoặc
có thể chứa các thành phần đồ họa hơn nữa. Bạn có thể đi bộ xuống Com
cây posite sử dụng bộ sưu tập Controls.
Các vấn đề thực hiện khác
đặt hàng linh kiện. Trong một số chương trình, thứ tự của các thành phần có thể
là quan trọng. Nếu tự đó là bằng cách nào đó khác với thứ tự mà chúng
đã được thêm vào các phụ huynh, thì phụ huynh phải làm thêm công việc để trở lại
chúng theo thứ tự đúng. Ví dụ, bạn có thể sắp xếp các bộ sưu tập ban đầu
theo thứ tự abc và trả về một bộ sưu tập được sắp xếp mới.
Kết quả Caching. Nếu bạn thường xuyên yêu cầu dữ liệu phải được tính toán từ một
loạt các thành phần con, như chúng ta đã làm ở đây với mức lương, có thể là thuận lợi
để cache các kết quả tính toán trong các phụ huynh. Tuy nhiên, trừ khi việc tính toán
tương đối chuyên sâu và bạn hoàn toàn chắc chắn rằng các dữ liệu cơ bản đã không
thay đổi, điều này có thể không có giá trị các nỗ lực.
Tư tưởng Câu hỏi
1. Một đội bóng chày có thể được coi là một tổng hợp của cá nhân cầu thủ của mình. Làm thế nào
bạn có thể sử dụng một hỗn hợp để đại diện cho hiệu suất cá nhân và đồng đội?
Mance bởi mục thực phẩm. Đề nghị làm thế nào một hỗn hợp có thể hữu ích.
đ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 ©2024 I Love Translation. All reserved.

E-mail: