Как я могу разделить множество несвязанных методов между различными классами, не создавая "пространство имен бога / статический класс"?
"Пространство имен Бога" - это (необычный) термин для (анти?) Паттерна, аналогичного "Объекту Бога", когда вы набираете метрическую тонну вещей (в основном методов / функций), которые не связаны или не тесно связаны с каждым из них. другой в одно огромное пространство имен /static class
только для того, чтобы его можно было использовать в нескольких разделах вашего проекта.
Следуя этому (анти?) Шаблону, вы часто заканчиваете, как пример C#, чем-то вроде static class Assets
с множеством методов, в основном не связанных друг с другом, но используемых в нескольких местах в вашем проекте (ах).
Я обычно подхожу к этой проблеме, позволяя следующему Assets
вырасти столько, сколько я могу вынести, а затем отчаянно пытаюсь отсортировать его содержимое на несколько меньших по критериям, которые кажутся наиболее законными, например, MathAssets
, или же BitmapAssets
, или же RNGAssets
, а потом в конечном итоге забыть, что я положил куда... и сделать новый Assets
для нескольких новых методов, которые не вписываются ни в один из SomethingAssets
уже загромождают проект.
Есть ли другие способы прояснить "пространство имен Бога"? Или мне просто придется жить со старым добрым static class Assets
?