Moim celem jest zdefiniowanie umów między klasami.
Lubię pisanie kaczką i wszystko, ale chciałbym również zdefiniować interfejs między różnymi warstwami mojej aplikacji, aby jasno określić, które są metodą wywoływania z zewnętrznego, a które to metody dodatkowe, których nie powinna używać druga warstwa .
Na przykład w Javie mogę zdefiniować interfejs Persistor za pomocą metod takich jak get () i save (), a następnie zdefiniować klasę JdbcPersistor za pomocą wszystkich metod, które muszę zachować w bazie danych. I może inny RestPersistor z innymi metodami oszczędzania na zdalnym serwerze.
Nie pytam o interfejsy w Ruby, tylko po to, aby wiedzieć, czy istnieje dobry sposób, zachowaj to rozróżnienie. Lubię Ruby, ale pracowałem z nią tylko przy małych projektach.