Evgenii Legotckoi
Evgenii Legotckoi19 вересня 2018 р. 10:27

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

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

Голи

  • Вказати типи об'єктів для створення з використанням екземпляра прототипу та створити нові об'єкти, скопіювавши цей прототип.
  • Створити один екземпляр класу для використання як вихідника всіх майбутніх екземплярів.
  • Оператор new вважається шкідливим

Проблеми

Програма має жорстку прив'язку до класу об'єкта …

Читати
Evgenii Legotckoi
Evgenii Legotckoi18 вересня 2018 р. 06: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 р. 05:44

C++Приклад - шаблон проектування "Будівельник" на C++

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

Обговорення. Клас Builder будує складний об'єкт крок за кроком. Абстрактний базовий клас оголошує стандартний процес побудови, а конкретні похідні класи визначають відповідну реалізацію кожного етапу процесу. У цьому прикладі "розподілені робочі пакети" були абстраговані від платформи.

Це означає, що специфічний …

Читати
Evgenii Legotckoi
Evgenii Legotckoi18 вересня 2018 р. 05: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 р. 05:11

DelphiПриклад - Абстрактна фабрика в Delphi

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

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


Приклад

У …

Читати
Evgenii Legotckoi
Evgenii Legotckoi18 вересня 2018 р. 04:01

Шаблони проектуванняШаблони проектування, що породжують - Об'єктний пул

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

Голи

Об'єктний пул може значно підвищити продуктивність; він найбільш ефективний у ситуаціях, коли вартість ініціалізації екземпляра класу висока, а швидкість створення екземпляра класу висока, при цьому кількість екземплярів, що використовуються у будь-який момент часу, невелика.

Проблеми

Пули об'єктів (інакше звані …

Читати
Evgenii Legotckoi
Evgenii Legotckoi17 вересня 2018 р. 09:47

JavaПриклад - Abstract Factory на Java

abstract, Java

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

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

PHPПриклад - Abstract Factory в 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 р. 05:37

Шаблони проектуванняШаблони проектування, що породжують - Фабричний метод

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

Голи

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

Проблеми

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

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

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

EVILEG, Развитие

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

Цели

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

Читати
OI
  • Ora Iro
  • 24 грудня 2024 р. 17:38

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

  • Результат:40бали,
  • Рейтинг балів-8
AD

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

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

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

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

Слідкуйте за нами в соціальних мережах