in the better-designed areas of objectville, objects are very particul dịch - in the better-designed areas of objectville, objects are very particul Việt làm thế nào để nói

in the better-designed areas of obj

in the better-designed areas of objectville, objects are very particular about their jobs. Each object is interested in doing its job, and only its job, to the best of its ability. There's nothing a well-designed object hates more than being used to do something that really isn't its true purpose.
unfortunately, it's come to out attention that this is exactly what is happening in Rick's inventory search tool: somewhere, an object is being used to do something that it really shouldn't be doing. it', your job to solve this mystery and figure out how we can get Rick's application back inline.
To help you figure out what’s gone amiss, here are some helpful tips to start you on your search for the mismatched object type:
1. Object should do what their names indicate. If an object is named jet, it should probably take Off() and land(), but it shouldn’t take ticket() that’s the job of another object, and doesn’t belong in jet.
2. Each object should represent a single concept. You don’t want objects serving double or triple duty. Avoid a Duck object that represent a real quacking duck, a yeallo plastic duck, and some one dropping their head down to avoid getting hit by a base ball
3. Unused properties are a dead giveaway. If you’ve got an object that is be ing used with no value or null properties offen, you’ve probably got an object doing more than one job. If you rerely have values for a certain property, why is that property part of the object? Would the be a better object to use with just a subset of those properties?
Question:
What do you think the mismatched object type is?

What do you think you should do to fix the problem? What changes you make?

Duplicate code sucks
Encapsulation allows you to group your application into logical part
Frack: hey, that’s right, joe. I hadn’t thought about that before.
Jil: so what? Using a guitar object make it realy easy to do compareisons in the search() menthod
Joe: not any more than some other object would. Look:

Joe: it really doen’t matter what type of object we’re using there, as long as we can figure out what specific thichs Rick’s clients are looking for
Frank: yeah, I think we should have a new object that stores just the specs that clients want to send to the seach() method. Then they’re not sending an entire guitar object, which never seemed to make much sense to me
Jill: but isn’t that going to creat some duplicate code? If there’s an object for all the client’s specs, and then the guitar has all its properties, we’ve got tow getBuiler() methods, tow getBackWood() methods… that’s so good
Frank: so why don’t we just encapsulate those properties away from guitas into new object?
Joe: whoa.. I was with you until you said “encapsulate”. I thought that was when you made all your variables private, so nobody could use them incorrectly. What’s that got to do with a guitar’s properties?
Frank: encapsulation is also about breaking your app into logical parts, and then keeping those part separate. So just like you keep the data in your classes separate from the rest of your app’s behavior, we can keep the generic properties of a guitar separate from the actual guitar object itself
Jill: and then guitar just has a variable pointing to a new object type that stores all its properties?
Frank: exactly! So we’ve really encapsulated the guitar properties out of guitar, and put them in their own sepatate object. Look, we could do something like this..


Creat the GuitarSpec object
Below, you’ll see the class diagram for guitar, and the new GuitarSpec object that Frank, Jill, and Joe have been discussing. It’s your job to add all the properties and methods that you think you’ll need to GuitarSpec. Than, cross out anything you don’t need anymore in the Guitar class. Finally, we’ve left you some space in the Guitar class diagram in case you think you need to add any new properties or methods. Good luck!
Hinh anh

Below, you’ll see the class diagram for guitar, and the new GuitarSpec object that Frank, Jill, and Joe have been discussing. It’s your job to add all the properties and methods that you think you’ll need to GuitarSpec. See if you made the same changes that we did
Hinh anh

Now update your own code
With this class diagram, you shoul be able to to add the guitaSpec class to your application, and update the Guita class as well. Go ahead and make any changes you need to Inventory.java so that the search tool compiles, as well.


1. Make sure your software does what the customer wants it to do
2. The apply basic 00 principles to add flesibility
3. Strive for a maintainable reusable design

0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
trong các lĩnh vực thiết kế nhiều objectville, các đối tượng rất cụ thể về công việc của họ. Mỗi đối tượng được quan tâm đến làm công việc của mình, và chỉ công việc của mình, tốt nhất của khả năng của mình. Không có gì một đối tượng được thiết kế tốt ghét nhiều hơn được sử dụng để làm một cái gì đó thực sự không phải là mục đích thật sự của nó.Thật không may, nó đã đi ra khỏi sự chú ý rằng điều này là chính xác những gì đang xảy ra trong công cụ tìm kiếm hàng tồn kho của Rick: một nơi nào đó, một đối tượng đang được sử dụng để làm một cái gì đó mà nó thực sự không nên làm. nó ', công việc của bạn để giải quyết bí ẩn này và tìm ra làm thế nào chúng tôi có thể nhận được của Rick ứng dụng quay lại inline.Để giúp bạn tìm ra những gì đã đi amiss, dưới đây là một số lời khuyên hữu ích để bắt đầu bạn trên tìm kiếm của bạn cho loại đối tượng không khớp:1. đối tượng nên làm những gì cho biết tên của họ. Nếu một đối tượng tên máy bay phản lực, nó có lẽ nên dùng Off() và land(), nhưng nó sẽ không mất ticket() đó là công việc của một đối tượng, và không thuộc về máy bay phản lực.2. mỗi đối tượng sẽ đại diện cho một khái niệm duy nhất. Bạn không muốn các đối tượng phục vụ nhiệm vụ tăng gấp đôi hoặc gấp ba lần. Tránh một đối tượng vịt mà đại diện cho một con vịt thật quacking, một con vịt nhựa yeallo, và một trong một số giảm đầu của mình để tránh bị ảnh hưởng bởi một quả bóng cơ bản3. không sử dụng tài sản là một giveaway chết. Nếu bạn đã có một đối tượng là thể ing được sử dụng không có giá trị hoặc null thuộc tính nào, bạn có lẽ đã có một đối tượng đang làm công việc nhiều hơn một. Nếu bạn rerely có giá trị cho một tài sản nhất định, tại sao là một phần tài sản của đối tượng? Nào là là một đối tượng tốt hơn để sử dụng với chỉ là một tập hợp của những tài sản?Câu hỏi:Bạn nghĩ loại đối tượng không khớp là gì? …Những gì bạn nghĩ bạn nên làm gì để khắc phục vấn đề? Những gì bạn thực hiện thay đổi?…Trùng lặp mã sucksĐóng gói cho phép bạn nhóm ứng dụng của bạn vào phần hợp lýFrack: hey, that's right, joe. Tôi đã không nghĩ về điều đó trước.Jil: vì vậy những gì? Bằng cách sử dụng một đối tượng guitar làm cho nó thực sự dễ dàng để làm compareisons trong search() menthodJoe: không có nhiều hơn một số đối tượng khác nào. Nhìn:Joe: nó thực sự doen't có vấn đề gì loại của đối tượng chúng tôi đang sử dụng, miễn là chúng tôi có thể tìm ra những gì cụ thể thichs Rick của khách hàng đang tìm kiếmFrank: Vâng, tôi nghĩ rằng chúng ta nên có một đối tượng mới mà các cửa hàng chỉ số kỹ thuật mà khách hàng muốn gửi đến các phương pháp seach(). Sau đó họ sẽ không gửi một đối tượng toàn bộ đàn guitar, dường như không bao giờ làm cho nhiều ý nghĩa với tôiJill: nhưng không phải là mà sẽ tạo một số mã trùng lặp? Nếu có một đối tượng cho tất cả các khách hàng số kỹ thuật, và sau đó guitar có tất cả các thuộc tính của nó, chúng tôi đã kéo phương pháp getBuiler(), kéo phương pháp getBackWood()... đó là tốt như vậyFrank: vì vậy tại sao không chúng tôi chỉ gói gọn những tính từ guitas thành đối tượng mới?Joe: whoa... Tôi đã với bạn cho đến khi bạn nói "gói gọn". Tôi nghĩ rằng đó là khi bạn thực hiện tất cả các biến tư nhân, do đó, không ai có thể sử dụng chúng không đúng. Mà đã có gì để làm với tính chất một guitar?Frank: đóng gói cũng là về phá vỡ các ứng dụng của bạn thành các phần logic, và sau đó giữ phần riêng biệt. Vì vậy chỉ cần giống như bạn giữ các dữ liệu trong các lớp học của bạn tách biệt với phần còn lại của hành vi ứng dụng của bạn, chúng tôi có thể giữ cho các thuộc tính chung của một guitar riêng biệt từ đối tượng thực tế guitar chính nóJill: và sau đó guitar chỉ có một biến trỏ đến một loại đối tượng mới mà các cửa hàng tất cả các thuộc tính của nó?Frank: chính xác! Vì vậy chúng tôi đã thực sự đóng gói ra khỏi guitar guitar, thuộc tính và đặt chúng trong đối tượng sepatate riêng của họ. Nghe này, chúng tôi có thể làm cho một cái gì đó như thế này...Tạo đối tượng GuitarSpecDưới đây, bạn sẽ thấy sơ đồ lớp học guitar, và các đối tượng mới GuitarSpec Frank, Jill, và Joe đã thảo luận. Đó là công việc của bạn để thêm tất cả các thuộc tính và phương pháp mà bạn nghĩ rằng bạn sẽ cần phải GuitarSpec. Hơn, vượt ra ngoài bất cứ điều gì bạn không cần nữa trong các lớp học Guitar. Cuối cùng, chúng tôi đã để lại một số không gian trong sơ đồ lớp Guitar trong trường hợp bạn nghĩ rằng bạn cần phải thêm bất cứ tài sản mới hoặc phương pháp. Chúc may mắn!Hinh anhDưới đây, bạn sẽ thấy sơ đồ lớp học guitar, và các đối tượng mới GuitarSpec Frank, Jill, và Joe đã thảo luận. Đó là công việc của bạn để thêm tất cả các thuộc tính và phương pháp mà bạn nghĩ rằng bạn sẽ cần phải GuitarSpec. Xem nếu bạn thực hiện những thay đổi tương tự mà chúng tôi đã làmHinh anhBây giờ cập nhật mã riêng của bạnVới sơ đồ lớp này, tư bạn có thể thêm các lớp guitaSpec ứng dụng của bạn và cập nhật các lớp Guita. Đi trước và thực hiện bất kỳ thay đổi nào bạn cần Inventory.java để biên dịch công cụ tìm kiếm, như là tốt.1. Hãy chắc chắn phần mềm của bạn có những gì khách hàng muốn nó làm2. nguyên tắc áp dụng cơ bản 00 Thêm flesibility3. cố gắng để duy trì thiết kế tái sử dụng
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
trong các khu vực tốt hơn thiết kế của objectville, các đối tượng rất cụ thể về công việc của họ. Mỗi đối tượng được quan tâm trong việc thực hiện công việc của mình, và chỉ có công việc của mình, để tốt nhất khả năng của mình. . Không có gì là đối tượng được thiết kế tốt ghét hơn là được sử dụng để làm một cái gì đó thực sự không phải là mục đích thật sự của nó là
không may, nó đến ra sự chú ý rằng điều này là chính xác những gì đang xảy ra trong công cụ tìm kiếm hàng tồn kho của Rick: nơi nào đó, một đối tượng đang được sử dụng để làm một cái gì đó mà nó thực sự không nên làm. đó, công việc của bạn để giải quyết bí ẩn này và tìm ra cách chúng ta có thể nhận được đơn của Rick lại nội tuyến.
Để giúp bạn tìm ra những gì đi sai lệch, đây là một số lời khuyên hữu ích để bạn bắt đầu vào việc tìm các loại đối tượng không phù hợp:
1. Đối tượng cần làm những gì tên của họ chỉ ra. Nếu một đối tượng có tên là máy bay phản lực, thì có lẽ nên đi Off () và đất (), nhưng nó không nên dùng vé () đó là công việc của các đối tượng khác, và không thuộc trong máy bay phản lực.
2. Mỗi đối tượng sẽ đại diện cho một khái niệm duy nhất. Bạn không muốn đối tượng phục vụ nhiệm vụ tăng gấp đôi hoặc gấp ba. Tránh một đối tượng vịt mà đại diện cho một con vịt quacking thực, một con vịt yeallo nhựa, và một số một rơi đầu của mình xuống để tránh bị ảnh hưởng bởi một quả bóng cơ sở
3. Tính không sử dụng được một giveaway chết. Nếu bạn đã có một đối tượng được được ing sử dụng không có giá trị hoặc các đặc tính vô offen, bạn đã có thể có một đối tượng làm nhiều hơn một việc. Nếu bạn rerely có giá trị cho một tài sản nhất định, tại sao là một phần tài sản của đối tượng? Sẽ là một đối tượng tốt hơn để sử dụng chỉ với một tập hợp con của những tài sản?
Câu hỏi:
Bạn nghĩ gì về kiểu đối tượng không phù hợp là?
...
Bạn nghĩ gì bạn nên làm gì để khắc phục vấn đề? ? Điều gì thay đổi bạn thực hiện
...
đang Duplicate hút
Encapsulation cho phép bạn nhóm các ứng dụng của bạn vào phần hợp lý
Frack: hey, đó là đúng, joe. Tôi đã không nghĩ về điều đó trước.
Jil: vì vậy những gì? Sử dụng một đối tượng cây đàn guitar làm cho nó thực sự dễ dàng để làm compareisons trong việc tìm kiếm () menthod
Joe: không nhiều hơn bất kỳ một số đối tượng khác sẽ. Nhìn:

Joe: nó thực sự doen't vấn đề gì loại của đối tượng chúng ta đang sử dụng có, miễn là chúng ta có thể tìm ra những gì thichs cụ thể khách hàng của Rick đang tìm kiếm cho
Frank: yeah, tôi nghĩ chúng ta nên có một đối tượng mới mà các cửa hàng chỉ các thông số kỹ thuật mà khách hàng muốn gửi đến các phương pháp Kết (). Sau đó, họ không gửi toàn bộ đối tượng guitar, mà không bao giờ dường như có ý nghĩa nhiều với tôi
Jill: nhưng không phải là sẽ tạo một số mã trùng lặp? Nếu có một đối tượng cho tất cả các thông số kỹ thuật của khách hàng, và sau đó là cây đàn guitar có tất cả các thuộc tính của nó, chúng tôi đã kéo getBuiler () phương pháp, kéo getBackWood () phương pháp ... đó là rất tốt
Frank: vậy tại sao chúng ta không chỉ gói gọn những đặc tính xa guitas vào đối tượng mới?
Joe: whoa .. tôi đã sống với bạn cho đến khi bạn nói "gói gọn". Tôi nghĩ đó là khi bạn đã thực hiện tất cả các biến của bạn riêng tư, vì vậy không ai có thể sử dụng chúng không đúng cách. Cái gì đó đã làm với tính chất của một cây đàn guitar?
Frank: đóng gói cũng là về phá ứng dụng của bạn vào phần hợp lý, và sau đó giữ những phần riêng biệt. Vì vậy, cũng giống như bạn giữ các dữ liệu trong các lớp học của bạn tách biệt với phần còn lại của hành vi của ứng dụng của bạn, chúng tôi có thể giữ các thuộc tính chung của một cây đàn guitar riêng biệt từ các đối tượng cây đàn guitar thực tế bản thân
Jill: và sau đó cây đàn guitar chỉ có một trỏ biến với một loại đối tượng mới lưu trữ tất cả các thuộc tính của nó?
Frank: chính xác! Vì vậy, chúng tôi đã thực sự đóng gói các tính chất đàn guitar ra khỏi guitar, và đặt chúng vào đối tượng sepatate riêng của họ. Hãy nhìn xem, chúng ta có thể làm một cái gì đó như thế này ..


tạo các đối tượng GuitarSpec
Dưới đây, bạn sẽ thấy sơ đồ lớp cho guitar, và các đối tượng GuitarSpec mới mà Frank, Jill, và Joe đã được thảo luận. Đó là công việc của bạn để thêm tất cả các thuộc tính và phương pháp mà bạn nghĩ rằng bạn sẽ cần phải GuitarSpec. Thân, gạch bỏ bất cứ điều gì bạn không cần nữa trong lớp Guitar. Cuối cùng, chúng tôi đã để lại cho bạn một số không gian trong sơ đồ lớp Guitar trong trường hợp bạn nghĩ rằng bạn cần phải thêm bất kỳ thuộc tính mới hoặc phương pháp. Chúc may mắn!
Hinh anh

Dưới đây, bạn sẽ thấy sơ đồ lớp cho guitar, và các đối tượng GuitarSpec mới mà Frank, Jill, và Joe đã được thảo luận. Đó là công việc của bạn để thêm tất cả các thuộc tính và phương pháp mà bạn nghĩ rằng bạn sẽ cần phải GuitarSpec. Xem nếu bạn đã thực hiện những thay đổi tương tự mà chúng ta đã làm
Hinh anh

Bây giờ cập nhật mã riêng của bạn
Với sơ đồ lớp học này, bạn shoul có thể thêm lớp guitaSpec để ứng dụng của bạn, và cập nhật các lớp guita là tốt. Đi trước và thực hiện bất kỳ thay đổi bạn cần phải Inventory.java để các công cụ tìm kiếm của biên dịch, là tốt.


1. Hãy chắc chắn rằng phần mềm của bạn làm những gì khách hàng muốn nó để làm
2. Việc áp dụng 00 nguyên tắc cơ bản để thêm flesibility
3. Phấn đấu cho một thiết kế tái sử dụng bảo trì

đ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: