ABAP Blog ️
1.25K subscribers
5 photos
3 videos
56 files
340 links
Про ABAP, SAP и Разработку в целом.

🏛 https://abap-blog.ru/about/
Download Telegram
Интерпретатор (Interpreter) (от 01.05.2016)

Метафора   Примером из жизни может служить способ сокращения набором слов определенных действий, например, говоря официанту в сабвее: «Серый, курица терияки, со всеми овощами, 1000 островов и чесночный», Вы тем самым даёте ему на интерпретацию некоторую команду, а он уже пытается её преобразовать в последовательность выполнения команд: достать и разрезать серый хлеб, положить куриную начинку…

https://abap-blog.ru/osnovy-abap/oop/interpretator-interpreter/
Стратегия (Strategy) (от 01.05.2016)

Метафора   Стратегия используется для выбора различных путей достижения результата. Допустим, нам понадобилось сходить в магазин за продуктами, какой выбор у нас есть? Можно заказать продукты на дом, можно сходить самому, можно отправить жену :). В любом из возможных случаев вы получаете результат – продукты из магазина.   Назначение   Определяет семейство алгоритмов, инкапсулирует каждый…

https://abap-blog.ru/osnovy-abap/oop/strategiya/
Шаблонный метод (Template Method) (от 01.05.2016)

Назначение   Шаблонный метод определяет основу алгоритма (каркас) и позволяет подклассам переопределять некоторые шаги алгоритма, не изменяя его структуры в целом. Таким образом, контракт между базовым классом и его наследниками определяется более чётко, чем это делается простым наследованием. За счёт определения каркаса алгоритма в базовом классе, мы избегаем лишнего дублирования кода.   Диаграмма   Шаблонный…

https://abap-blog.ru/osnovy-abap/oop/shablonnyj-metod-template-method/
Компоновщик (Composite) (от 01.05.2016)

Метафора   Для примера можно рассмотреть управление солдатами в строю. Существует строевой устав, который определяет, как управлять строем и согласно этого устава абсолютно не важно кому отдается приказ (например, «шагом марш») одному солдату или целому взводу. Соответственно в устав (если его в чистом виде считать паттерном «компоновщик») нельзя включить команду, которую может исполнить только один…

https://abap-blog.ru/osnovy-abap/oop/komponovshhik-composite/
Наблюдатель (Observer) (от 01.05.2016)

Метафора   Часто встречающийся шаблон из реальной жизни, представьте, что вы подписались на e-mail рассылку на каком-либо сайте, при этом, когда выходит новая статья, инициируется событие уведомления Вас о её выходе.   Назначение   Позволяет определить зависимость «один-ко-многим» так, что при изменении одного объекта, все зависимые от этого изменения объекты были оповещены об этом. В…

https://abap-blog.ru/osnovy-abap/oop/nablyudatel-observer/
Посредник (Mediator) (от 01.05.2016)

Метафора   Хорошей метафорой будет башня управления в аэропорту, через неё пилоты запрашивают разрешение на посадку и взлёт, а уже диспетчер в ней решает кто, куда и в каком порядке будет приземляться и взлетать. Нет необходимости во взаимодействии пилотов друг с другом напрямую.   Назначение   Определяет объект, инкапсулирующий способ взаимодействия множества объектов друг с…

https://abap-blog.ru/osnovy-abap/oop/posrednik-mediator/
Приспособленец (Flyweight) (от 01.05.2016)

Метафора   Представьте, что нам требуется поставить пьесу. Однако по сценарию в этой пьесе задействованы несколько десятков людей, которые по своей сути выполняют одинаковые действия, например, участвуют в массовках различных сцен в разные промежутки времени, но между ними всё же есть какие-то различия (например, костюмы). Нам бы стоило огромных денег нанимать для каждой роли отдельного…

https://abap-blog.ru/osnovy-abap/oop/prisposoblenec/
Фасад (Facade) (от 01.05.2016)

Метафора   Представьте себе автомобиль. Для того чтобы им управлять, Вам вовсе не нужно знать устройство двигателя внутреннего сгорания и всех систем внутри него. Для этого достаточно уметь пользоваться его «Фасадом», интерфейсом с которым непосредственно взаимодействует водитель: руль, педали, коробка передач.   Назначение   Предоставляет унифицированный интерфейс вместо набора интерфейсов некоторой подсистемы. Фасад определяет интерфейс…

https://abap-blog.ru/osnovy-abap/oop/fasad-facade/
Посетитель (Visitor) (от 01.05.2016)

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

https://abap-blog.ru/osnovy-abap/oop/posetitel-visitor/
Итератор (Iterator) (от 01.05.2016)

Метафора   Все помнят школьное «на первый второй рассчитайся!»? Вот именно в этот момент шеренга вашего класса и являлась реализацией паттерна «итератор», хотя в программировании это конечно более функциональное понятие, но суть примерно та же. «Итератор» предоставляет правила доступа к списку каких-либо объектов независимо от того, что это за объекты. То есть не важно, какой…

https://abap-blog.ru/osnovy-abap/oop/iterator-iterator/
Абстрактная фабрика (Abstract factory) (от 01.05.2016)

Метафора   Метафора паттерна описывается его названием. Когда вам необходима бутылка колы, вам не нужно при этом знать, как их производят на фабрике. Достаточно сказать «дайте мне колы», а фабрика уже возвращает вам бутылку. Каким образом создать эту бутылку остается полностью на совести фабрики. Предназначение фабрики в том, чтобы можно было бы в любой момент…

https://abap-blog.ru/osnovy-abap/oop/abstraktnaya-fabrika/
Фабричный метод (Factory method) (от 01.05.2016)

Назначение   Паттерн решает задачу определения некоторого интерфейса по созданию класса, конкретную реализацию которого определяют дочерние классы, реализующие данный интерфейс. В отличие от абстрактной фабрики, фабричный метод оперирует созданием одного единственного объекта, а не семейства. Данный паттерн имеет несколько версий реализации, мы рассмотрим реализацию через статический метод в базовом классе. В такой реализации в статический…

https://abap-blog.ru/osnovy-abap/oop/fabrichnyj-metod/
Строитель (Builder) (от 01.05.2016)

Метафора   Метафора данного паттерна явно следует из его названия. Представьте ситуацию, когда на стройке работает прораб (Director) и строители (Builder’ы). Строители умеют выполнять некоторые работы, которые необходимы, например, для кладки стены: положить на фундамент гидроизоляцию, замешать раствор, выложить кладку из кирпича. Однако сам строитель не знает технологического процесса который необходимо выполнить для того чтобы…

https://abap-blog.ru/osnovy-abap/oop/stroitel/
Прототип (Prototype) (от 01.05.2016)

Метафора   Данный паттерн чем-то напоминает «фабрику», он также служит для создания объектов, однако с немного другим подходом. Представьте, что у вас есть пустой пакет (из-под сока), а вам нужен полный с апельсиновым соком. Вы «говорите» пакету «Хочу пакет апельсинового сока», он в свою очередь создает свою копию и заполняет ее соком, который вы попросили.…

https://abap-blog.ru/osnovy-abap/oop/prototip/
Одиночка (Singleton) (от 01.05.2016)

Метафора   Представьте, что Вам нужно организовать в городе телефонную связь. Можно протянуть кабеля от каждого жителя к каждому, но такое решение явно имеет недостаток при добавлении нового жителя, т.к. придётся тянуть от него кабель до всех других. Гораздо дешевле создать в городе телефонную станцию, к которой будет подсоединен каждый житель. Для того чтобы позвонить…

https://abap-blog.ru/osnovy-abap/oop/odinochka/
Паттерны проектирования в ABAP примерах (от 08.05.2016)

Ранее в блоге уже упоминались паттерны проектирования (GoF), однако их рассмотрение было несколько скомканным и не полным, в данной статье они будут рассмотрены более подробно. Изучая паттерны, не стоит считать их неким священным Граалем, способным решить все задачи, они лишь инструмент, который нужно еще и грамотно применить. Главное, что нужно оценивать это то, какую проблему…

https://abap-blog.ru/osnovy-abap/oop/patterny-proektirovaniya-v-abap-primerax/
ABAP CDS (Core Data Services) (от 28.05.2016)

Начиная с версии ABAP 7.4. нам стала доступна новая технология описания моделей данных в словаре – ABAP CDS (CDS – Core Data Services). Данная технология позволяет описывать модели данных на более продвинутом уровне, нежели это можно было делать стандартными словарными вьюшками. Она так же позволяет оптимизировать работу с данными за счёт вынесения вычислений на уровень СУБД (Code-to-Data), что…

https://abap-blog.ru/osnovy-abap/slovar/abap-cds-core-data-services/
ABAP Managed Database Procedures (AMDP) (от 03.06.2016)

Все больше в настоящее время SAP систем переходят на новую платформу (СУБД) – HANA (High-Performance Analytic Appliance), в основе которой лежит технология вычислений in-memory с использованием принципа поколоночного хранения данных. Вместе с новой платформой, появляются так же и новые возможности для обработки больших объемов данных и более высокопроизводительных вычислений. Для ускорения ABAP решений на базе HANA,…

https://abap-blog.ru/database-work/abap-managed-database-procedures-amdp/