Синглетоны
May. 19th, 2014 09:42 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
https://github.com/SparkViewEngine/spark/blob/master/src/Samples/DirectUsage/ConsoleTemplating/Services/MessageBuilder.cs
А вот насколько подобный код (статик _instance и его инициализация) является кошерным? Ну с interlocked все более-менее понятно, а вот собственно использование синглетонов вместо всяких модных IoC и тому подобного усложняющего все трэша?
А вот насколько подобный код (статик _instance и его инициализация) является кошерным? Ну с interlocked все более-менее понятно, а вот собственно использование синглетонов вместо всяких модных IoC и тому подобного усложняющего все трэша?
no subject
Date: 2014-05-20 08:04 pm (UTC)Вообще говоря, должна теоретически быть возможность протащить свой логгер в каждую подсистему. Поэтому идея архитектурно одного логгера на все приложение тоже выглядит достойной заявкой на посадку на кол.
В целом, единственной причиной для существования синглтонов мне видится неготовность народа таскать состояние явно. В то же время сам факт допущения использования синглтонов неизбежно создает риск ситуаций, описанных ребе Метаклассом.
no subject
Date: 2014-05-20 08:35 pm (UTC)no subject
Date: 2014-05-20 08:42 pm (UTC)no subject
Date: 2014-05-20 08:49 pm (UTC)no subject
Date: 2014-05-20 08:53 pm (UTC)no subject
Date: 2014-05-20 08:51 pm (UTC)no subject
Date: 2014-05-20 08:53 pm (UTC)no subject
Date: 2014-05-20 08:54 pm (UTC)И что будет ключом в том и ином случае?
no subject
Date: 2014-05-20 08:59 pm (UTC)Меня этот вариант тащемта напрягает адом паттернов, написанием классов ради того чтобы писать классы.
no subject
Date: 2014-05-20 09:03 pm (UTC)no subject
Date: 2014-05-20 09:00 pm (UTC)Но это, понятное дело, разговоры в пользу бедных, поскольку какая инфраструктура сложилась, с такой и придется жить. XML-парсер, например, свой писать никому не хочется.