Разбивка класса GOD на отдельные ответственные классы - PullRequest
0 голосов
/ 20 января 2020

Проблема:

У меня в проекте есть класс GOD, который состоит из более чем 40-50 функций, принадлежащих разным службам.

Что Я хочу достичь:

Я хочу переместить уникальные функции в выделенные подклассы и общие функции в родительский класс. Так что все функции, принадлежащие определенной функции, принадлежат выделенному классу. Теперь класс GOD внедряется во многие классы.

Может кто-нибудь предложить мне шаблон проектирования, в котором мне не нужно индивидуально внедрять все эти SubClass, а фабрику, которая даст экземпляры этих подклассов, а также обеспечить доступ к общим функциям, которые находятся в родительском классе. Возможно ли это?

class GodClass {
    fun common(){}
    fun a(){}
    fun b(){}
    fun c(){}
    fun d(){}
}
abstract class ParentClass {
   fun common(){}
}
class SubClass1: ParentClass {
    fun a(){}
    fun d(){}
}
class SubClass2: ParentClass {
    fun b(){}
    fun c(){}
}
...