Mục tiêu của tôi là xác định hợp đồng giữa các lớp.
Tôi thích gõ vịt và tất cả nhưng tôi cũng muốn xác định giao diện giữa các lớp khác nhau trong ứng dụng của mình để xác định rõ phương thức gọi từ bên ngoài và phương thức phụ kiện nào không được sử dụng bởi lớp khác .
Ví dụ trong Java, tôi có thể định nghĩa giao diện Persistor với các phương thức như get () và save () và sau đó định nghĩa lớp JdbcPersistor với tất cả các phương thức tôi cần để duy trì trên cơ sở dữ liệu. Và có thể một RestPersistor khác với các phương thức khác để lưu trên máy chủ restserver từ xa.
Tôi không yêu cầu giao diện trong Ruby, chỉ để biết liệu có cách nào gọn gàng để giữ sự khác biệt này không. Tôi thích Ruby nhưng tôi chỉ làm việc với các dự án nhỏ với nó.