Я думаю, что вы путаете некоторые понятия здесь.Прежде всего, MVC - это не просто шаблон проектирования, а скорее общая концепция организации приложения.B / c не существует одной или лучшей реализации для MVC.MVC - это то, что ваш здравый смысл говорит вам о структурировании обработки данных.Отделение того, что вы видите, от того, что происходит внутри, и какая информация обрабатывается вообще.
Синглтоны обычно используются в MVC, когда у вас много разных объектов, использующих одни и те же ресурсы.Чтобы организовать это, вы можете использовать Реестр, реализованный как отдельный, для предоставления доступа к БД, например.
С наилучшими пожеланиями
Раффаэль
РЕДАКТИРОВАТЬ:
на самом деле существует много разных взглядов на то, как должна выглядеть полезная реализация MVC-структуры.
Например, в книгах вы обычно видите три блока, обозначения «модель», «вид»и «контроллер».И все они связаны стрелками.IMO связь между «представлением» и «моделью» должна быть исключена, поскольку модель должна обрабатываться контроллером, который связывается с представлением.
Также я считаю, что очень важно различать бизнес-логику иконтроллер.Получить легко запутался.Но BL относится к модельному ряду.В этом смысле я не думаю о MVC как о чем-то вроде треугольника, а скорее о трехуровневой системе V / C / M.