Trong vài tháng qua tôi đã thực hiện chuyển đổi từ Java sang Groovy và tôi có thể đánh giá cao nhiều lợi ích mà nó mang lại: ít mã, đóng, xây dựng, MOP. kiểm tra, vvBạn có thể có quá nhiều "động" trong các ngôn ngữ động không?
Tuy nhiên, tôi đã bị "đồng ý" bởi đồng nghiệp của tôi rằng mã của tôi không đủ hấp dẫn. Cụ thể, tôi vẫn khai báo kiểu cho các tham số và trường, có xu hướng sử dụng thừa kế và đa hình thay vì gõ vịt vv. Có vẻ như với tôi trong những tình huống này không chỉ là động và tĩnh, mà còn năng động so với mô hình hướng đối tượng loại tiến thoái lưỡng nan. Trong những trường hợp đó tôi vẫn có khuynh hướng thích OO hơn. Tôi cảm thấy rằng mô hình OO có giá trị lớn trong tiền đề cơ bản của nó trong việc cho phép bạn trừu tượng hóa và liên kết các cấu trúc mã của bạn với các khái niệm thực tế cụ thể.
Vì vậy, đây là những câu hỏi cụ thể tôi cần được giúp đỡ với:
Tôi có nên khai báo các loại cho các thông số của tôi, lĩnh vực, vv?
Tôi có nên khai báo khối mã là đóng khi phương pháp đơn giản sẽ thực hiện?
Khi nào tôi nên sử dụng cách nhập vịt thay vì công văn đa hình. Ví dụ, trong groovy tôi có thể làm động vật. "$ Action"() hoặc def animal; animal.action(), thay vì Animal animal = new Dog(); animal.action(). Tôi có thể nhìn thấy vấn đề đầu tiên trong bối cảnh nguyên tắc Open-Closed, nhưng bất kỳ lý do nào khác để thích sự đa hình phong cách OO?
Khi nào tôi nên sử dụng giao diện bằng tiếng groovy (nếu có)?
Tôi chắc chắn rằng có một số tình huống khó xử tương tự khác mà tôi không viết được. Tôi cũng nghĩ rằng những câu hỏi này có giá trị không chỉ cho groovy, mà còn cho bất kỳ ngôn ngữ động nào khác. Ý kiến của bạn là gì?
Một lý do khác để khai báo các loại là khi lập trình các dịch vụ web SOAP để WSDL tạo ra có thể chứa một số thông tin kiểu ... – Dan