A
A
Alex Wells2017-01-11 10:24:07
OOP
Alex Wells, 2017-01-11 10:24:07

Expand variable across classes?

Здравствуйте. Как можно адекватно и удобно использовать переменную главного класса по всему проекту? Эта переменная - ОРМ, и мне нужен доступ к ней почти в каждом классе. Некоторые классы вообще подгружены отдельно, не через главный класс. Придумал только метод с instance'ом, типа при запуске выдать классу инстанс, потом подгружать ДБ по типу MainClass.Instance.DB.Action, но запись очень длинная получается.
Есть варианты короче?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
G
GavriKos, 2017-01-11
@Alex_Wells

Вариант первый - делать не синглтон, а просто статическую переменную именно для DB. Т.е. без instance.
Вариант второй - в каждом классе, который использует DB в конструкторе один раз сохранять в поле класса ссылку на MainClass.Instance.DB. Во всех случаях использования обращаться к этому полю.
Вариант третий - курить что такое DI и DI container и рефакторнуть все под это дело.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question