В предыдущей статье Где хранятся ваши константы на микроконтроллере CortexM (на примере С++ IAR компилятора), был разобран вопрос о том, как расположить константные объекты в ROM. Теперь же я хочу рассказать, как можно использовать порождающий шаблон одиночка для создания объектов в ROM.
Читать полностью »
Рубрика «singleton»
Синглтон размещающий объекты в ROM и статические переменные(С++ на примере микроконтроллера Cortex M4)
2019-07-05 в 11:59, admin, рубрики: c++, cortex-m, cortex-m4, IAR, singleton, микроконтроллеры stm, Программирование, программирование микроконтроллеров, шаблоны c++Техника избежания неопределённого поведения при обращении к синглтону
2019-06-16 в 12:41, admin, рубрики: c++, c++11, C++14, c++17, singleton, smart pointers, std::shared_ptr, std::weak_ptr, синглтон, умные указателиВ статье рассмотрены причины возникновения и способы избежания неопределённого поведения при обращении к синглтону в современном c++. Приведены примеры однопоточного кода. Ничего compiler-specific, всё в соответствии со стандартом.
Читать полностью »
Ломаем паттерн проектирования — Singleton в PHP
2019-05-05 в 8:38, admin, рубрики: design patterns, php, singleton, testingОдним прекрасным рабочим днём я писал unit-тесты для бизнес-логики на проекте, в котором работаю. Передо мною стояла задача инициализировать некоторые приватные свойства класса определёнными значениями.
Паттерны проектирования в Cocos2d-x
2018-03-20 в 18:57, admin, рубрики: Behavioral, bridge, cocos2d-x, command, component, composite, Creational Patterns, Data Locality, Decoupling Patterns, Dirty Flag, flyweight, Observer, Optimization Patterns, patterns, prototype, singleton, Structural Patterns, ооп, паттерны, Программирование, Проектирование и рефакторинг, разработка игр, шаблоны проектированияПривет! Представляю вашем вниманию перевод статьи "Design Patterns in Cocos2d-x" автора Aleksei Pinchuk.
Статья будет интересна для разработчиков Cocos2d-x и тех, кто изучает паттерны. Она выполнена в форме краткого конспекта, в котором можно быстро посмотреть где применяется тот или иной паттерн в Cocos2d-x. Целью статьи не является полное описание каждого паттерна.
Читать полностью »
Синглтон, локатор сервисов и тесты в iOS
2017-12-14 в 12:20, admin, рубрики: iOS, service locator, singleton, swift, tests, Блог компании Badoo, разработка под iOSПривет! Я Богдан, работаю в мобильной команде Badoo iOS-разработчиком.
В этой статье мы рассмотрим использование паттернов «Синглтон» и «Локатор сервисов» (service locator) в iOS и обсудим, почему их часто называют антипаттернами. Я расскажу, как и где их стоит применять, сохраняя код пригодным для тестирования.
Использование Singleton в Unity3D
2017-11-07 в 11:03, admin, рубрики: C#, singleton, unity3d, untiy3D, практика, разработкаВступление
Организация любого, хотя-бы малость серьезного проекта требует хорошей организации кода. Проекты, разрабатываемые в среде Unity3D не являются исключением и, по мере роста проекта, его организация может сыграть не малую роль в качестве исходного продукта.
В данной статье мы постарались не только описать такой подход к организации кода, как Singleton (в народе называемый паттерном программирования), но и рассмотреть наиболее комфортные и правильные подходы к обработке событий и поговорить об удобности кода в целом.
Читать полностью »
Принцип единственной ответственности: фундамент декомпозиции
2017-10-09 в 1:03, admin, рубрики: C#, design patterns, god object, singleton, solid, srp, Анализ и проектирование систем, ооп, Программирование, Проектирование и рефакторинг
Сейчас об этом принципе слышал любой, кто занимается программированием. Чуть меньше тех, кто думает, что его знает. Гораздо меньше тех, кто действительно умеет его использовать. Я постараюсь объяснить суть, назначение и применение этого принципа как можно проще и короче.
Определение
Каждый программный объект имеет одно и только одно назначение.
Его можно исчерпывающе описать одним предложением, не используя союзы.
Пример
Lazy<T> — обертка для объекта, чье создание откладывается до первого обращения к нему.
Антипример
Синглтон — класс, не допускающий создания более одного экземпляра. В этом описании нет союзов, но оно неполное — синглтон всегда имеет основную функциональность помимо контроля единственности собственного экземпляра. Синглтон — класс, реализующий полезную функциональность и контролирующий единственность собственного экземпляра. Теперь описание исчерпывающее, но имеет союз "и" — у синглтона два разных назначения. Он не соответствует принципу единственной ответственности.
Еще антипример
Локатор сервисов — позволяет получить доступ к любому сервису приложения. Это описание без исчерпывающего списка сервисов заведомо неполное.
Назначение
Упрощение создания, анализа и модификации программных систем.
[Археология Live] Стыдный разговор о синглтонах
2017-08-06 в 16:18, admin, рубрики: java, singleton, springАудитория: Java Junior, любители холиворов, профессиональные написатели синглтонов
Любые замечания и предложения — очень приветствуются. Это мое первое видео, и не совсем понятно, нужен ли тут вообще такой контент. Считайте это закрытым альфа-тестом, только для посетителей хаба Java :)
Ниже дана полная текстовая расшифровка, кому не хочется тратить время на просмотр.
Синглтоны и общие экземпляры
2017-07-26 в 10:51, admin, рубрики: design patterns, php, singleton, Анализ и проектирование систем, Блог компании Mail.Ru Group, никто не читает теги, Проектирование и рефакторинг, Разработка веб-сайтовКаждый раз при обсуждении программного обеспечения с другими разработчиками всплывает тема синглтонов, особенно в контексте развития WordPress’а. Я часто пытаюсь объяснить, почему их надо избегать, даже если они считаются стандартным шаблоном.
В данной статье я попытаюсь раскрыть тему того, почему синглтоны никогда не должны использоваться в коде и какие есть альтернативы для решения похожих проблем.
3 cпособа нарушить Single Responsibility Principle
2017-06-03 в 14:47, admin, рубрики: ios development, mvc, mvp, mvvm, singleton, srp, ооп, Программирование, разработка под iOS, метки: SRPSingle Responsibility Principe достаточно прост для понимания и его не сложно придерживаться.
Но в работе я достаточно часто сталкиваюсь нарушением этого принципа. В этой статье я собрал самые больные из способов нарушить SPR из тех, что я встречал.
Читать полностью »