Having interface such as ArticleUsecase in Go is a bad idea, since Go interfaces are ducktyped. Stick to Go practices and have interface with only one or two methods.

In addition, you’re actually going against clean architecture, and hide the domain of your application. Instead of having model orcontroller packages you should have article package that holds Article model, Article controller, and so on.

Solutions Architect @Depop, author of “Hands-on Design Patterns with Kotlin” book and “Web Development with Kotlin” course

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store