OK, đây sẽ là lần đầu tiên tôi đánh bại một con ngựa sắp chết.Tại sao các đại biểu theo phong cách .NET không phải là đóng cửa trong Java?
Tuy nhiên, câu hỏi này khác với câu hỏi trước đây của tôi về đóng cửa/đại biểu, hỏi về kế hoạch cho đại biểu và thông số dự kiến và triển khai cho đóng cửa.
Câu hỏi này là về - tại sao cộng đồng Java đang cố gắng xác định 3 loại đóng cửa khác nhau khi chúng ta có thể đơn giản ăn cắp toàn bộ khái niệm đại biểu khóa, kho và thùng từ người hàng xóm thân yêu và thân thiện của chúng tôi - Microsoft.
Có hai kết luận phi kỹ thuật tôi sẽ rất cám dỗ để nhảy vào:
- Cộng đồng Java nên giữ lên niềm tự hào của mình, với chi phí cần phải đi xuyên qua những nỗ lực phức tạp, bằng cách không chịu thua vay bất kỳ khái niệm nào của Microsoft hoặc bằng cách khác minh họa sự sáng chói của Microsoft.
- Đại biểu là công nghệ được cấp bằng sáng chế của Microsoft.
Alright, bên cạnh hai khả năng trên,
Q1. Có bất kỳ điểm yếu hoặc không đầy đủ trong các đại biểu theo phong cách .NET rằng ba (hoặc nhiều) hình thức đóng cửa sẽ được giải quyết?
Q2. Tôi hỏi điều này trong khi chuyển đổi giữa Java và C# và nó khiến tôi hiểu rằng các đại biểu C# thực hiện chính xác những gì tôi cần. Có các tính năng sẽ được thực hiện trong các bao đóng mà hiện không có sẵn trong các đại biểu C# không? Nếu vậy họ là gì bởi vì tôi không thể nhìn thấy những gì tôi cần nhiều hơn những gì C# đại biểu đã cung cấp đầy đủ cho tôi?
Q3. Tôi biết rằng một trong những mối quan tâm về việc thực hiện đóng cửa/đại biểu trong java là giảm tính trực giao của ngôn ngữ, trong đó có nhiều cách được tiếp xúc để thực hiện một tác vụ cụ thể. Liệu nó có đáng để chập chững mức độ và thời gian dành để tránh các đại biểu chỉ để đảm bảo java giữ lại mức độ trực giao của nó không? Trong thiết kế quan hệ, chúng ta biết rằng nó được khuyến khích để phá vỡ trực giao bằng cách thường xuyên đáp ứng đầy đủ chỉ là hình thức bình thường thứ 2. Tại sao java không thể bị giảm tính trực giao và OO-Ness vì mục đích đơn giản?
Q4. Kiến trúc của JVM bị hạn chế về mặt kỹ thuật khi triển khai các đại biểu theo kiểu .NET. Nếu lý do này là WERE (giả thiết để nhấn mạnh không phù hợp), thì tại sao ba đề xuất đóng cửa không được ẩn sau một từ khóa hoặc chú thích đại biểu đơn giản: nếu chúng ta không thích sử dụng @delegate, chúng ta có thể sử dụng @method. Tôi không thể thấy cách định dạng tuyên bố đại biểu phức tạp hơn ba đề xuất đóng cửa.
Về lý thuyết phi kỹ thuật thứ hai của bạn, tôi khá chắc chắn bằng sáng chế không phải là vấn đề. – itowlson
Cảm ơn itowlson đã bổ sung bằng cách chỉnh sửa sự lười biếng của tôi. Lấy làm tiếc. –
Bạn nên đưa ra một số ví dụ cú pháp của hệ thống bạn thích. – xyz