В Java
я обычно объявляю весь свой домен как interface
s, возможно, с каким-то Factory
, чтобы получить реализацию. Отчасти это связано с тем, что я настолько стар, что я помню, когда некоторые уровни устойчивости требовали классов реализации для подкласса определенного класса, но также чтобы я мог легко:
- макет объектов для тестирования
- прокси-объекты во время выполнения при необходимости
- предоставляют различные реализации
Я следую этой практике, даже когда я действительно не предполагаю, что я действительно хочу сделать что-либо из вышеперечисленного; Я все еще считаю, что это хорошая практика на всякий случай. Я считаю это довольно распространенным подходом.
Было ли это необычным в Scala -land, если я объявляю все объекты домена abstract
? Удерживают ли эти точки выше Scala?