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) …
Читать
Evgenii Legotckoi
Evgenii Legotckoi18 сентября 2018 г. 5:11

DelphiПример - Абстрактная фабрика на Delphi

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

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


Пример …

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

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

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

Цели

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

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

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

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

JavaПример - Абстрактная фабрика на Java

abstract, Java

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

  • Factory Method: создание через наследование.
  • Prototype: создание через делегирование. …
Читать
Evgenii Legotckoi
Evgenii Legotckoi17 сентября 2018 г. 7:48

PHPПример - Абстрактная фабрика на 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 Legotckoi17 сентября 2018 г. 5:37

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

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

Цели

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

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

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

Читать
Evgenii Legotckoi
Evgenii Legotckoi16 сентября 2018 г. 14:25

EVILEGДобавление первоначальной поддержки фотографий и фотоальбомов

EVILEG, Развитие

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

Цели

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

Читать
AD

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50баллов,
  • Очки рейтинга-4
m
  • molni99
  • 26 октября 2024 г. 11:37

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:80баллов,
  • Очки рейтинга4
m
  • molni99
  • 26 октября 2024 г. 11:29

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:20баллов,
  • Очки рейтинга-10
Последние комментарии
ИМ
Игорь Максимов22 ноября 2024 г. 22:51
Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii Legotckoi1 ноября 2024 г. 0:37
Django - Урок 064. Как написать расширение для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZE19 октября 2024 г. 18:19
Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь Максимов5 октября 2024 г. 17:51
Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55 июля 2024 г. 21:02
QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Сейчас обсуждают на форуме
Evgenii Legotckoi
Evgenii Legotckoi25 июня 2024 г. 1:11
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
t
tonypeachey115 ноября 2024 г. 17:04
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
NSProject
NSProject4 июня 2022 г. 13:49
Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
9
9Anonim25 октября 2024 г. 19:10
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

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