Sự khác biệt giữa mixin và mở rộng là gì, khi nào sử dụng mỗi loại?Trong ember.js, sự khác nhau giữa mixin và extend là gì?
25
A
Trả lời
34
Tôi đã viết this article about Ember.Object giải thích sự khác biệt chi tiết. Về cơ bản, sử dụng extend
để tạo một lớp mới từ một lớp cơ sở và sử dụng mixin để phân tách các mối quan tâm bên mà bạn có thể muốn bao gồm trong bất kỳ số lớp/đối tượng nào. Mixins có thể được bao gồm trong các lớp học thông qua extend
hoặc các đối tượng thông qua create
.
3
Hỗn hợp là một loại thừa kế đặc biệt. Có hai tình huống chính khi mixin được sử dụng:
- Bạn muốn cung cấp nhiều tính năng tùy chọn cho một lớp học.
- Bạn muốn sử dụng một tính năng cụ thể trong nhiều lớp khác nhau .
Các vấn đề liên quan
- 1. Trong Ember.js, sự khác biệt giữa [] và Ember.A ([]) là gì?
- 2. Sự khác biệt giữa mixin() và extend() trong thư viện Javascript
- 3. Ember.js: Sự khác nhau giữa Router/Route và StateManager/State là gì?
- 4. Sự khác nhau giữa bao gồm và mở rộng trong Ruby là gì?
- 5. Trong Python, sự khác nhau giữa ".append()" và "+ = []" là gì?
- 6. Sự khác nhau giữa == và = trong Prolog là gì?
- 7. Sự khác nhau giữa // và /// trong Visual Studio là gì?
- 8. Sự khác nhau giữa: = và + = trong tạo tệp là gì?
- 9. Sự khác nhau giữa * và. * Trong MATLAB là gì?
- 10. Sự khác nhau giữa $ @ và $ * trong UNIX là gì?
- 11. Sự khác nhau giữa: = và = trong MySQL là gì?
- 12. Sự khác nhau giữa "||" là gì và "hoặc" trong Perl?
- 13. Sự khác nhau giữa 'eq' và '= ~' trong Perl là gì?
- 14. Sự khác nhau giữa 'và #' trong Lisp là gì?
- 15. Sự khác biệt giữa một Lớp Tóm tắt và Mixin là gì?
- 16. Sự khác nhau giữa VCS và SCM là gì?
- 17. Sự khác nhau giữa ssize_t và ptrdiff_t là gì?
- 18. Sự khác nhau giữa java.lang.Math và java.lang.StrictMath là gì?
- 19. Sự khác nhau giữa static_cast và reinterpret_cast là gì?
- 20. Sự khác nhau giữa init() và window.init() là gì?
- 21. Sự khác nhau giữa fancyLocalization và preferredLanguage là gì?
- 22. Sự khác nhau giữa CreateObject và Wscript.CreateObject là gì?
- 23. Sự khác nhau giữa CellClick và CellMouseClick là gì?
- 24. Sự khác nhau giữa -0 và 0 là gì?
- 25. Sự khác nhau giữa TCHAR và WCHAR là gì?
- 26. Sự khác nhau giữa `DialogInterface.dismiss()` và `DialogInterface.cancel()` là gì?
- 27. Sự khác nhau giữa fill_parent và wrap_content là gì?
- 28. Sự khác nhau giữa IDbSet.Add và DbEntityEntry.State = EntityState.Added là gì?
- 29. Sự khác nhau giữa SqlCommand.CommandTimeout và SqlConnection.ConnectionTimeout là gì?
- 30. Sự khác nhau giữa NSImage và UIImage là gì?
Đó là những gì tôi muốn.Thanksyou rất nhiều. – NkS