Evgenii Legotckoi
Evgenii Legotckoi24 сентября 2018 г. 8:23

C++Пример - Фабричный метод на C++

шаблоны проектирования, factory, method, C++

Обсуждение. Фреймфорки представляют собой приложения (или подсистемы) с «местами расширений» в них. Каждый такой фреймворк определяет инфраструктуру, надстройку и поток управления для своей области деятельности, а клиент фреймворка может: осуществлять поведение структуры по умолчанию «как есть», расширить выделенные фрагменты структуры …

Читать
Evgenii Legotckoi
Evgenii Legotckoi24 сентября 2018 г. 5:05

Шаблоны проектированияСтруктурные шаблоны проектирования - Мост

шаблоны проектирования, Bridge, мост

Цели

  • Отделите абстракцию от ее реализации, чтобы они могли изменяться независимо друг от друга.
  • Создание публичного интерфейса в иерархии наследования и реализация в своей собственной иерархии наследования.
  • Помимо инкапсуляции использование изоляции

Проблематика

«Укрепление программных связей» путем использования подкласса абстрактного базового …

Читать
Дмитрий
Дмитрий22 сентября 2018 г. 4:16

Проекты на QtЧиталка fb2-файлов на Qt Creator

reader, читалка, fb2-читалка, html, fb2-reader, fb2

Некоторое время назад я написал статью, в которой показал, как открыть файл fb2 с помощью инструментов Qt. Спустя какое-то время я заметил в нем ряд недостатков, которые решил устранить. Более того, я обнаружил, что у некоторых fb2-ридеров есть и недостатки …

Читать
Evgenii Legotckoi
Evgenii Legotckoi21 сентября 2018 г. 7:11

Шаблоны проектированияСтруктурные шаблоны проектирования - Адаптер

adapter, шаблоны проектирования

Цели

  1. Преобразование интерфейса класса в другой интерфейс. Адаптер позволяет классам работать вместе, что в противном случае могло бы быть связано с несовместимыми интерфейсами классов.
  2. Оборачивание существующего класса в новый интерфейс
  3. Соответствие старого компонента новой системе

Проблематика

Уже готовый компонент имеет …

Читать
Evgenii Legotckoi
Evgenii Legotckoi21 сентября 2018 г. 3:18

PHPПример - Шаблон проектирования Строитель на PHP

PHP, шаблоны проектирования, Строитель, Builder

В шаблоне Builder управляющий и строитель работают вместе для создания объекта. Управляющий контролирует задание и указывает, какие части и вариации войдут в объект. Строитель знает, как собрать объект, указанный в спецификации.

В этом примере у нас есть управляющий, HTMLPageDirector, которому …

Читать
Evgenii Legotckoi
Evgenii Legotckoi21 сентября 2018 г. 3:13

DelphiПример - Шаблон проектирования Строитель на Delphi

Builder, Delphi, Строитель, шаблоны проектирования

Функциональность, используемая в VCL Delphi для создания форм и компонентов, похожа на концепцию строителя. Delphi создает формы, используя общий интерфейс, через Application.CreateForm и через конструктор класса TForm. TForm реализует общий конструктор, используя информацию о ресурсах (файл DFM), чтобы создать экземпляр …

Читать
Evgenii Legotckoi
Evgenii Legotckoi20 сентября 2018 г. 9:33

Шаблоны проектированияПорождающие шаблоны проектирования - Синглтон

шаблоны проектирования, Синглетон, singleton

Цели

  1. Убедиться, что класс имеет только один экземпляр и предоставляет глобальную точку доступа к нему.
  2. Инкапсулированная "инициализация в определённый момент времени" или "инициализация при первом использовании".

Проблематика

Приложению нужен один и только один экземпляр объекта. Кроме того, необходимы ленивая инициализация …

Читать
Evgenii Legotckoi
Evgenii Legotckoi20 сентября 2018 г. 3:15

QtQt для Python - UiFiles

PySide2, Qt, Python

На этой странице описывается использование Qt Creator для создания графических интерфейсов для вашего программного обеспечения PySide. Вам понадобится Qt Creator для разработки и изменения вашего интерфейса (ui-файл)

Для создания Ui файлов используется Qt Designer.

В Qt Creator создайте новую форму, …

Читать
Evgenii Legotckoi
Evgenii Legotckoi19 сентября 2018 г. 10:27

Шаблоны проектированияПорождающие шаблоны проектирования - Прототип

Prototype, шаблоны проектирования, Прототип, abstract

Цели

  • Указать типы объектов для создания с использованием экземпляра прототипа и создать новые объекты, скопировав этот прототип.
  • Coздать один экземпляр класса для использования в качестве исходника всех будущих экземпляров.
  • Оператор new считается вредным

Проблематика

Приложение имеет жёсткую привязку к классу …

Читать
Evgenii Legotckoi
Evgenii Legotckoi18 сентября 2018 г. 6:06

PythonПример - Шаблон проектирования Строитель на Python

Строитель, Python, Builder, шаблоны проектирования

Пример шаблон проектирования Строитель на Python.


"""
Separate the construction of a complex object from its representation so
that the same construction process can create different representations.
"""

import abc


class Director:
    """
    Construct an object using the Builder interface. …
Читать
Evgenii Legotckoi
Evgenii Legotckoi18 сентября 2018 г. 5:44

C++Пример - Шаблон проектирования Строитель на C++

cpp, Builder, Строитель, шаблоны проектирования

Обсуждение. Класс Builder строит сложный объект шаг за шагом. Абстрактный базовый класс объявляет стандартный процесс построения, а конкретные производные классы определяют соответствующую реализацию для каждого этапа процесса. В этом примере «распределенные рабочие пакеты» были абстрагированы от платформы.

Это означает, что …

Читать
Evgenii Legotckoi
Evgenii Legotckoi18 сентября 2018 г. 5:20

JavaПример - Шаблон проектирования Строитель в Java

Java, шаблоны проектирования, Builder

Пример шаблона проектирования Строитель на Java


/* "Product" */
class Pizza {
    private String dough = "";
    private String sauce = "";
    private String topping = "";

    public void setDough(String dough) {
        this.dough = dough;
    }

    public void setSauce(String sauce) …
Читать
e
  • ehot
  • 31 марта 2024 г. 21:29

C++ - Тест 003. Условия и циклы

  • Результат:78баллов,
  • Очки рейтинга2
B

C++ - Тест 002. Константы

  • Результат:16баллов,
  • Очки рейтинга-10
B

C++ - Тест 001. Первая программа и типы данных

  • Результат:46баллов,
  • Очки рейтинга-6
Последние комментарии
k
kmssr9 февраля 2024 г. 1:43
Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Анатолий Кононенко5 февраля 2024 г. 8:50
Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25 декабря 2023 г. 17:30
Boost - статическая линковка в CMake проекте под Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
J
JonnyJo25 декабря 2023 г. 15:38
Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
G
Gvozdik19 декабря 2023 г. 4:01
Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Сейчас обсуждают на форуме
a
a_vlasov14 апреля 2024 г. 13:41
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C+…
Павел Дорофеев
Павел Дорофеев14 апреля 2024 г. 9:35
QTableWidget с 2 заголовками Вот тут есть кастомный QTableView с многорядностью проект поддерживается, обращайтесь
f
fastrex4 апреля 2024 г. 11:47
Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…
P
Pisych27 февраля 2023 г. 11:04
Как получить в массив значения из связанной модели? Спасибо, разобрался:))
AC
Alexandru Codreanu19 января 2024 г. 18:57
QML Обнулить значения SpinBox Доброго времени суток, не могу разобраться с обнулением значение SpinBox находящего в делегате. import QtQuickimport QtQuick.ControlsWindow { width: 640 height: 480 visible: tr…

Следите за нами в социальных сетях