Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
1 октября 2018 г. 8:34

Шаблоны проектирования

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

Цели


  • Использование общего доступа для эффективного использования большого количества объектов.
  • Стратегия GUI Motif по замене тяжеловесных виджетов легкими виджетами.

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

Проектирование объектов вплоть до самых низких уровней «гранулярности» системы обеспечивает оптимальную гибкость, но может быть неприемлемо дорогим с точки зрения производительности и использования памяти.

26 сентября 2018 г. 11:55

Python 3

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

Пример шаблона проектирования Объектный пул на языке программирования Python.

26 сентября 2018 г. 11:53

Java

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

Пример шаблона проектирования Объектный пул на языке программирования Java.

26 сентября 2018 г. 10:55

C++

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

Пример шаблона проектирования Объектный пул на языке программирования C++.

26 сентября 2018 г. 10:01

Шаблоны проектирования

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

Цели

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

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

Вы хотите добавить поведение или состояние к отдельным объектам во время выполнения. Наследование не представляется возможным, поскольку оно является статичным и относится ко всему классу.

25 сентября 2018 г. 10:16

PHP

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

В шаблоне Factory Method, фабричный метод определяет, какие функции должны быть доступны не абстрактной конкретной фабрике. Эти функции должны иметь возможность создавать объекты, которые являются расширениями определенного класса. Какой именно подкласс создается, будет зависеть от значения параметра, переданного функции.

В этом примере у нас есть фабричный метод AbstractFactoryMethod , который реализует функцию makePHPBook($param)

Конкретный класс OReillyFactoryMethod factory расширяет класс AbstractFactoryMethod и может создать правильное расширение класса AbstractPHPBook для заданного значения $param.

25 сентября 2018 г. 10:09

Delphi

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

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

Один из примеров этого может возникнуть, если у вас есть объектно-ориентированное бизнес-приложение, потенциально связанное с несколькими целевыми СУБД. Клиентское приложение только хочет знать о бизнес-классах, а не об их хранилище и конкретной реализации для извлечения данных.

25 сентября 2018 г. 9:46

Шаблоны проектирования

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

Цели

  • Составить объекты в древовидные структуры для представления целых частей иерархии. Компоновщик позволяет клиентам одинаково обрабатывать отдельные объекты и композиции объектов.
  • Рекурсивная композиция
  • «Каталоги содержат записи, каждый из которых может быть каталогом».
  • Представление иерархии один ко многим

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

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

24 сентября 2018 г. 14:43

Python 3

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

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

24 сентября 2018 г. 14:34

Java

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

В программировании на основе классов шаблон фабричного метода представляет собой шаблон создания, который использует фабричные методы для решения проблемы создания объектов без указания точного класса объекта, который будет создан. Это делается путем создания объектов через вызов фабричного метода - либо указанного в интерфейсе, либо реализованного дочерними классами, либо реализованного в базовом классе, либо необязательно переопределенного производными классами, а не путем вызова конструктора.

МБ
21 апреля 2019 г. 9:40
Моисей Бушуев

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

  • Результат:0баллов,
  • Очки рейтинга-10
AA
17 апреля 2019 г. 19:40
Anton Ablin

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

  • Результат:73баллов,
  • Очки рейтинга1
E
17 апреля 2019 г. 18:16
Evgeny

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

  • Результат:100баллов,
  • Очки рейтинга10
Последние комментарии
21 апреля 2019 г. 16:22
Евгений Легоцкой

Через метод setIcon table.horizontalHeaderItem(0).setIcon("qrc://path/to/icon.png")
21 апреля 2019 г. 15:48
Евгений Легоцкой

Добрый день! Спасибо за комментарий. Там действительно лучше будет сделать с инициализацией по умолчанию.
U
18 апреля 2019 г. 15:37
Unreal_man

А как иконку в хедер задать?
u
18 апреля 2019 г. 2:15
uaa

доброго времени,большое спасибо за пример для начинающего)при адаптации к своему проекту столкнулся с таким ньансом:в vepolyline.h в 47 строке нужна инициализация по умолчанию: int m_pointF...
E
11 апреля 2019 г. 12:49
Evgeny

Спасибо за ответ) У меня компоновщик на нее ругался просто. Оказалось, просто забыл Q_OBJECT в начале класса указать.
Сейчас обсуждают на форуме
23 апреля 2019 г. 18:39
BlinCT

Вопрос закрыт) проблема найдена
21 апреля 2019 г. 16:16
Евгений Легоцкой

Приветствую Нужно сохранять где-то выбранное значение, а потом восстанавливать его. Или использовать QSettings или добавить метод open(), в который передавать начальные значения для того...
R
19 апреля 2019 г. 9:55
RED_Spider

мені важко це зараз навіть перевірити, тому що знайшов коміт, це ще було в 2016 році, і цей код не буде працювати коректно зараз, єдине скажу що це були QThread
i
17 апреля 2019 г. 15:03
ilya.guzikov

BlinCT, на стороне ++ это делать необходимо так как в qml при использовании функции append происходит перерисовка всех точек лини(как я понимаю) и из-за этого при использовании больших массиво...
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы