Evgenii Legotckoi
Evgenii LegotckoiҚыр. 18, 2018, 5:11 Т.Ж.

DelphiМысал - Delphi-дегі абстрактілі фабрика

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

Этот шаблон идеален там, где вы хотите изолировать свое приложение от реализации конкретных классов. Например, если вы хотите наложить VCL Delphi на общий уровень VCL для 16 и 32-битных приложений, вы можете начать с абстрактной фабрики в качестве базы.


Пример …

Оқы
Evgenii Legotckoi
Evgenii LegotckoiҚыр. 18, 2018, 4:01 Т.Ж.

Шаблоны проектированияШығармашылық дизайн үлгілері - нысан пулы

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

Цели

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

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

Пулы объектов (иначе называемые пулами …

Оқы
Evgenii Legotckoi
Evgenii LegotckoiҚыр. 17, 2018, 9:47 Т.Ж.

JavaМысал - Java тіліндегі абстрактілі фабрика

abstract, Java

Классы Абстрактных фабрик часто реализуются с помощью фабричных методов, но они также могут быть реализованы с использованием Prototype. Абстрактная фабрика может хранить набор прототипов, из которых можно клонировать и возвращать объекты.

  • Factory Method: создание через наследование.
  • Prototype: создание через делегирование. …
Оқы
Evgenii Legotckoi
Evgenii LegotckoiҚыр. 17, 2018, 7:48 Т.Ж.

PHPМысал - РНР-дегі абстрактілі фабрика

abstract, PHP

Пример шаблона проектирования Абстрактная фабрика на PHP


<?php
/*
 *  Abstract Factory classes
 */

abstract class DB_Abstraction_Factory {
    protected $settings = array();
    protected function __construct() {
        $this->settings = Settings::getInstance();
    }

    abstract public function createInstance();
}

class DB_Abstraction_Factory_ADODB extends DB_Abstraction_Factory { …
Оқы
Evgenii Legotckoi
Evgenii LegotckoiҚыр. 17, 2018, 5:37 Т.Ж.

Шаблоны проектированияШығармашылық дизайн үлгілері - зауыттық әдіс

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

Цели

  • Определяем интерфейс для создания объекта, но пусть подклассы решают, какой класс следует создавать. Фабричный метод позволяет создать экземпляр класса для подклассов.
  • Определение «виртуального» конструктора.
  • Оператор new является вредным.

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

Структура проекта должна стандартизировать архитектурную модель для целого ряда приложений, …

Оқы
Evgenii Legotckoi
Evgenii LegotckoiҚыр. 16, 2018, 2:25 Т.Қ.

EVILEGФотосуреттер мен фотоальбомдарға бастапқы қолдауды қосу

EVILEG, Развитие

Выходные не прошли даром. За пару дней удалось написать достаточно функциональную поддержку загрузки фотографий через WYSIWYG редактор сайта. О чём хотелось бы подробнее сообщить пользователям сайта в виде статьи.

Цели

Написанием собственного WYSIWYG редактора преследую на данный момент несколько целей. …

Оқы
Evgenii Legotckoi
Evgenii LegotckoiҚыр. 14, 2018, 3:35 Т.Ж.

Шаблоны проектированияГенеративті дизайн үлгілері - құрылысшы

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

Причины

  • Отделение построения сложного объекта от его представления, чтобы тот же процесс построения мог создавать разные представления.
  • Разборка сложного представления, создание одной цели из нескольких вариаций.

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

Отделение алгоритма интерпретации объекта (например, парсинг документа) от механизма сохранения готового состояния объекта. …

Оқы
Evgenii Legotckoi
Evgenii LegotckoiҚыр. 13, 2018, 8:03 Т.Ж.

PythonМысал - Python тіліндегі дерексіз фабрика

abstract, factory, abc, python

Пример абстрактной фабрики на языке программирования Python


"""
Предоставление интерфейса для создания семейств связанных или зависимых
объектов без указания их конкретных классов.
"""

import abc


class AbstractFactory(metaclass=abc.ABCMeta):
    """
    Объявление интерфейса для методов, которые создают объекты.
    """

    @abc.abstractmethod
    def create_product_a(self):
        pass …
Оқы
Evgenii Legotckoi
Evgenii LegotckoiҚыр. 13, 2018, 6:12 Т.Ж.

C++Мысал - C++ тіліндегі дерексіз фабрика

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

Обсуждение. «Подумайте о создании объектов как о фабрике, которая порождает эти самые объекты».

Здесь мы назначаем обязанности создания объектов фабричному объекту, а затем используем функции наследования и виртуальные члены для предоставления возможности «виртуального конструктора». Таким образом, существуют два аспекта. Клиент …

Оқы
Evgenii Legotckoi
Evgenii LegotckoiҚыр. 13, 2018, 6:01 Т.Ж.

Шаблоны проектированияГенеративті дизайн үлгілері - дерексіз фабрика

шаблоны проектирования, абстрактная, abstract, new, фабрика

Причины

  • Предоставление интерфейса для создания семейств связанных или зависимых объектов без указания их конкретных классов.
  • Иерархия, которая инкапсулирует: множество возможных «платформ» и построение набора «продуктов».
  • Оператор new считается вредным.

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

Если приложение должно быть портативным, ему необходимо инкапсулировать все зависимости …

Оқы
Evgenii Legotckoi
Evgenii LegotckoiТам. 9, 2018, 4:29 Т.Ж.

LinuxҚашықтағы серверден дерекқор дампін және медиа файлдарын жасауға және жүктеп алуға арналған Bash сценарийі

Bash, rsync, Linux

В процессе разработки сайта на Django пришлось начать разбираться с Bash скриптами, чтобы автоматизировать рутинные задачи. Например, создание и скачивание дампа базы данных с сайта, а также резервирования медиа файлов.

Будем считать, что что Вы уже имеет доступ к серверу …

Оқы
Evgenii Legotckoi
Evgenii LegotckoiТам. 7, 2018, 3:10 Т.Ж.

LinuxGit-те автор бойынша орындалған әрекеттердің санын санау

Git, Fun, Linux

Just for fun.

Чем могут меряться программисты? Конечно, своими коммитами, хотя бы их количеством в Git репозитории.

Для этого можно использовать команду git shortlog, которая суммирует вывод git log, предоставляя более краткий вывод.

Опции

У данной команды есть несколько опций, …

Оқы
Г

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

  • Нәтиже:66ұпай,
  • Бағалау ұпайлары-1
t

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

  • Нәтиже:33ұпай,
  • Бағалау ұпайлары-10
t

Qt - Тест 001. Сигналы и слоты

  • Нәтиже:52ұпай,
  • Бағалау ұпайлары-4
Соңғы пікірлер
G
GoattRockҚыр. 3, 2024, 1:50 Т.Қ.
Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
d
dblas5Шілде 5, 2024, 11:02 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssrАқп. 8, 2024, 6:43 Т.Қ.
Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Енді форумда талқылаңыз
Evgenii Legotckoi
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
F
FynjyШілде 22, 2024, 4:15 Т.Ж.
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
BlinCT
BlinCTМаусым 25, 2024, 1 Т.Ж.
Нарисовать кривую в qml Всем привет. Имеется Лист листов с тосками, точки получаны интерполяцией Лагранжа. Вопрос, как этими точками нарисовать кривую? ChartView отпадает сразу, в qt6.7 появился новый элемент…
BlinCT
BlinCTМамыр 5, 2024, 5:46 Т.Ж.
Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
Evgenii Legotckoi
Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

Бізді әлеуметтік желілерде бақылаңыз