В последнее время заинтересовался архитектурами программных проектов в принципе как темой, и концепциями Чистой архитектуры и "Портов & Адаптеров" в частности. (неслучайно, т.к. на моей работе этой концепции придерживаются :).
Почитать можно на русском тут: Часть 1, Часть 2.
P.S. в моих прошлых маленьких проектах такое разделение кода вряд ли необходимо, но всё равно трудновато на него теперь смотреть(