Evgenii Legotckoi
Қаз. 1, 2018, 2:34 Т.Қ.

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

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

Цели

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

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

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

Оқы
Evgenii Legotckoi
Қыр. 26, 2018, 5:55 Т.Қ.

PythonМысал - Python тіліндегі нысан пулы

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

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


  1. """
  2. Offer a significant performance boost; it is most effective in
  3. situations where the cost of initializing a class instance is high, the
  4. rate of instantiation of a class is high, …
Оқы
Evgenii Legotckoi
Қыр. 26, 2018, 5:53 Т.Қ.

JavaМысал – Java нысан пулы

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

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


  1. // ObjectPool Class
  2.  
  3. public abstract class ObjectPool<T> {
  4. private long expirationTime;
  5.  
  6. private Hashtable<T, Long> locked, unlocked;
  7.  
  8. public ObjectPool() {
  9. expirationTime = 30000; // 30 seconds
  10. locked = new Hashtable<T, Long>();
  11. unlocked
Оқы
Evgenii Legotckoi
Қыр. 26, 2018, 4:55 Т.Қ.

C++Мысал - C++ нысан пулы

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

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


  1. #include <string>
  2. #include <iostream>
  3. #include <list>
  4. class Resource
  5. {
  6. int value;
  7. public:
  8. Resource()
  9. {
  10. value = 0;
  11. }
  12. void reset()
  13. {
  14. value = 0;
  15. }
  16. int getValue()
  17. {
  18. return value;
  19. }
Оқы
Evgenii Legotckoi
Қыр. 26, 2018, 4:01 Т.Қ.

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

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

Цели

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

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

Вы хотите добавить …

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

PHPМысал - РНР-дегі зауыттық әдіс

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

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

В …

Оқы
Evgenii Legotckoi
Қыр. 25, 2018, 4:09 Т.Қ.

DelphiМысал - Delphi-дегі зауыттық әдіс

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

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

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

Оқы
Evgenii Legotckoi
Қыр. 25, 2018, 3:46 Т.Қ.

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

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

Цели

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

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

Приложению необходимо …

Оқы
Evgenii Legotckoi
Қыр. 24, 2018, 8:43 Т.Қ.

PythonМысал - Python тіліндегі зауыттық әдіс

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

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


  1. """
  2. Define an interface for creating an object, but let subclasses decide
  3. which class to instantiate. Factory Method lets a class defer
  4. instantiation to subclasses.
  5. """
  6.  
  7. import abc
  8.  
  9.  
  10. class Creator(metaclass=abc.ABCMeta):
  11. """
  12. Declare the …
Оқы
Evgenii Legotckoi
Қыр. 24, 2018, 8:34 Т.Қ.

JavaМысал - Java зауыттық әдісі

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

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

Оқы