Шаблоны проектирования → Порождающие шаблоны проектирования - Строитель
Builder, шаблоны проектирования, Строитель
Причины
- Отделение построения сложного объекта от его представления, чтобы тот же процесс построения мог создавать разные представления.
- Разборка сложного представления, создание одной цели из нескольких вариаций.
Проблематика
Отделение алгоритма интерпретации объекта (например, парсинг документа) от механизма сохранения готового состояния объекта. …
ЧитатьPython → Пример - Абстрактная фабрика на Python
abstract, factory, abc, python
Пример абстрактной фабрики на языке программирования Python
Читать""" Предоставление интерфейса для создания семейств связанных или зависимых объектов без указания их конкретных классов. """ import abc class AbstractFactory(metaclass=abc.ABCMeta): """ Объявление интерфейса для методов, которые создают объекты. """ @abc.abstractmethod def create_product_a(self): pass …
C++ → Пример - Абстрактная фабрика на C++
cpp, шаблоны проектирования, abstract, new
Обсуждение. «Подумайте о создании объектов как о фабрике, которая порождает эти самые объекты».
Здесь мы назначаем обязанности создания объектов фабричному объекту, а затем используем функции наследования и виртуальные члены для предоставления возможности «виртуального конструктора». Таким образом, существуют два аспекта. Клиент …
ЧитатьШаблоны проектирования → Порождающие шаблоны проектирования - Абстрактная фабрика
шаблоны проектирования, абстрактная, abstract, new, фабрика
Причины
- Предоставление интерфейса для создания семейств связанных или зависимых объектов без указания их конкретных классов.
- Иерархия, которая инкапсулирует: множество возможных «платформ» и построение набора «продуктов».
- Оператор new считается вредным.
Проблематика
Если приложение должно быть портативным, ему необходимо инкапсулировать все зависимости …
ЧитатьLinux → Bash скрипт для создания и скачивания дампа базы данных и медиа файлов с удаленного сервера
В процессе разработки сайта на Django пришлось начать разбираться с Bash скриптами, чтобы автоматизировать рутинные задачи. Например, создание и скачивание дампа базы данных с сайта, а также резервирования медиа файлов.
Будем считать, что что Вы уже имеет доступ к серверу …
ЧитатьLinux → Подсчёт количества коммитов по авторам в Git
Just for fun.
Чем могут меряться программисты? Конечно, своими коммитами, хотя бы их количеством в Git репозитории.
Для этого можно использовать команду git shortlog, которая суммирует вывод git log, предоставляя более краткий вывод.
Опции
У данной команды есть несколько опций, …
ЧитатьC++ → Идиома RAII и утверждение из структурного программирования, что функция должна иметь одну точку входа и одну точку выхода
Мир программирования на C++ в новых стандартах позволяет нам вытворять самые разные вещи, благодаря которым можно спокойно отказываться от некоторых старых утверждений или принципов, либо просто гибко подходить к этим принципам.
Хотелось бы изложить свой взгляд на работу идиомы RAII …
ЧитатьQt → Профилирование использования памяти в Linux с помощью Qt Creator 4.7
Анализатор производительности
Вы могли слышать об Анализаторе Производительности (названным “CPU Usage Analyzer” (Анализатор использования центрального процессора (ЦП)) в Qt Creator 4.6 и ранее). Речь идет о профилировании приложений с использованием превосходного инструмента «perf» в Linux. Вы можете использовать его локально …
ЧитатьPostgreSQL → Работа с триггерными функциями в PostgreSQL
PostgreSQL, Триггерные функции, База данных
В процессе разработки одного приложения для учёта норм времени возникла необходимость в создании сводной таблицы с выборкой данных из уже имеющейся.
В качестве базы данных использовалась PostgreSQL.
Исходная таблица “ base_table ” упрощенно имеет следующий вид:
Поля таблицы имеют следующие …
ЧитатьDjango → Открытие исходников EVILEG
ESNF-ICO, ESNF-DOC, ESNF-C, ESNF, ESNF-LD, Django, EVILEG
Случилось пожалуй то, чего хотели бы многие пользователи ресурса EVILEG среди Web-разработчиков.
Было принято решение открыть исходники EVILEG, тем более что уже неоднократно я получал просьбы показать исходники ресурса и даже предложения о посильном улучшении программного кода сайта.
Таким образом, …
Читать- Akiv Doros
- 11 ноября 2024 г. 11:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50баллов,
- Очки рейтинга-4
- molni99
- 25 октября 2024 г. 22:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
- molni99
- 25 октября 2024 г. 22:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20баллов,
- Очки рейтинга-10