Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

2
  • Yes, we're already using Dependency Injection. The project is written in Kotlin, with some legacy Java code still in place. Just to make sure I understood you correctly — your approach would be to split the "God Repository" into multiple interfaces, each one implementing only specific methods from the original "God Repository", is that right? Commented Apr 16 at 8:38
  • 1
    @developKinberg The idea is that you use the interfaces to illuminate what the dependencies are using from the God class. I'm assuming here that not everything in the God class is relevant to each client. If that's incorrect, then you have a bigger problem. The compiler will ensure you have identified every dependency (barring reflection). Consolidating these interfaces into 2 or more separate concerns will help you understand how to decompose the God class. Commented Apr 16 at 17:03