Интерпретатор (Interpreter) (от 01.05.2016)
Метафора Примером из жизни может служить способ сокращения набором слов определенных действий, например, говоря официанту в сабвее: «Серый, курица терияки, со всеми овощами, 1000 островов и чесночный», Вы тем самым даёте ему на интерпретацию некоторую команду, а он уже пытается её преобразовать в последовательность выполнения команд: достать и разрезать серый хлеб, положить куриную начинку…
https://abap-blog.ru/osnovy-abap/oop/interpretator-interpreter/
Метафора Примером из жизни может служить способ сокращения набором слов определенных действий, например, говоря официанту в сабвее: «Серый, курица терияки, со всеми овощами, 1000 островов и чесночный», Вы тем самым даёте ему на интерпретацию некоторую команду, а он уже пытается её преобразовать в последовательность выполнения команд: достать и разрезать серый хлеб, положить куриную начинку…
https://abap-blog.ru/osnovy-abap/oop/interpretator-interpreter/
abap-blog.ru
ABAP Blog | Интерпретатор (Interpreter)
Метафора Примером из жизни может служить способ сокращения набором слов определенных действий, например, говоря официанту в сабвее: «Серый, курица терияки, со всеми овощами, 1000 островов и чесночный», Вы тем самым даёте ему на интерпретацию некоторую команду…
Стратегия (Strategy) (от 01.05.2016)
Метафора Стратегия используется для выбора различных путей достижения результата. Допустим, нам понадобилось сходить в магазин за продуктами, какой выбор у нас есть? Можно заказать продукты на дом, можно сходить самому, можно отправить жену :). В любом из возможных случаев вы получаете результат – продукты из магазина. Назначение Определяет семейство алгоритмов, инкапсулирует каждый…
https://abap-blog.ru/osnovy-abap/oop/strategiya/
Метафора Стратегия используется для выбора различных путей достижения результата. Допустим, нам понадобилось сходить в магазин за продуктами, какой выбор у нас есть? Можно заказать продукты на дом, можно сходить самому, можно отправить жену :). В любом из возможных случаев вы получаете результат – продукты из магазина. Назначение Определяет семейство алгоритмов, инкапсулирует каждый…
https://abap-blog.ru/osnovy-abap/oop/strategiya/
abap-blog.ru
ABAP Blog | Стратегия (Strategy)
Метафора Стратегия используется для выбора различных путей достижения результата. Допустим, нам понадобилось сходить в магазин за продуктами, какой выбор у нас есть? Можно заказать продукты на дом, можно сходить самому, можно отправить жену :). В любом из…
Шаблонный метод (Template Method) (от 01.05.2016)
Назначение Шаблонный метод определяет основу алгоритма (каркас) и позволяет подклассам переопределять некоторые шаги алгоритма, не изменяя его структуры в целом. Таким образом, контракт между базовым классом и его наследниками определяется более чётко, чем это делается простым наследованием. За счёт определения каркаса алгоритма в базовом классе, мы избегаем лишнего дублирования кода. Диаграмма Шаблонный…
https://abap-blog.ru/osnovy-abap/oop/shablonnyj-metod-template-method/
Назначение Шаблонный метод определяет основу алгоритма (каркас) и позволяет подклассам переопределять некоторые шаги алгоритма, не изменяя его структуры в целом. Таким образом, контракт между базовым классом и его наследниками определяется более чётко, чем это делается простым наследованием. За счёт определения каркаса алгоритма в базовом классе, мы избегаем лишнего дублирования кода. Диаграмма Шаблонный…
https://abap-blog.ru/osnovy-abap/oop/shablonnyj-metod-template-method/
abap-blog.ru
ABAP Blog | Шаблонный метод (Template Method)
Назначение Шаблонный метод определяет основу алгоритма (каркас) и позволяет подклассам переопределять некоторые шаги алгоритма, не изменяя его структуры в целом. Таким образом, контракт между базовым классом и его наследниками определяется более чётко, чем…
Компоновщик (Composite) (от 01.05.2016)
Метафора Для примера можно рассмотреть управление солдатами в строю. Существует строевой устав, который определяет, как управлять строем и согласно этого устава абсолютно не важно кому отдается приказ (например, «шагом марш») одному солдату или целому взводу. Соответственно в устав (если его в чистом виде считать паттерном «компоновщик») нельзя включить команду, которую может исполнить только один…
https://abap-blog.ru/osnovy-abap/oop/komponovshhik-composite/
Метафора Для примера можно рассмотреть управление солдатами в строю. Существует строевой устав, который определяет, как управлять строем и согласно этого устава абсолютно не важно кому отдается приказ (например, «шагом марш») одному солдату или целому взводу. Соответственно в устав (если его в чистом виде считать паттерном «компоновщик») нельзя включить команду, которую может исполнить только один…
https://abap-blog.ru/osnovy-abap/oop/komponovshhik-composite/
abap-blog.ru
ABAP Blog | Компоновщик (Composite)
Метафора Для примера можно рассмотреть управление солдатами в строю. Существует строевой устав, который определяет, как управлять строем и согласно этого устава
Наблюдатель (Observer) (от 01.05.2016)
Метафора Часто встречающийся шаблон из реальной жизни, представьте, что вы подписались на e-mail рассылку на каком-либо сайте, при этом, когда выходит новая статья, инициируется событие уведомления Вас о её выходе. Назначение Позволяет определить зависимость «один-ко-многим» так, что при изменении одного объекта, все зависимые от этого изменения объекты были оповещены об этом. В…
https://abap-blog.ru/osnovy-abap/oop/nablyudatel-observer/
Метафора Часто встречающийся шаблон из реальной жизни, представьте, что вы подписались на e-mail рассылку на каком-либо сайте, при этом, когда выходит новая статья, инициируется событие уведомления Вас о её выходе. Назначение Позволяет определить зависимость «один-ко-многим» так, что при изменении одного объекта, все зависимые от этого изменения объекты были оповещены об этом. В…
https://abap-blog.ru/osnovy-abap/oop/nablyudatel-observer/
abap-blog.ru
ABAP Blog | Наблюдатель (Observer)
Метафора Часто встречающийся шаблон из реальной жизни, представьте, что вы подписались на e-mail рассылку на каком-либо сайте, при этом, когда выходит новая статья, инициируется событие уведомления Вас о её выходе. Назначение Позволяет определить зависимость…
Посредник (Mediator) (от 01.05.2016)
Метафора Хорошей метафорой будет башня управления в аэропорту, через неё пилоты запрашивают разрешение на посадку и взлёт, а уже диспетчер в ней решает кто, куда и в каком порядке будет приземляться и взлетать. Нет необходимости во взаимодействии пилотов друг с другом напрямую. Назначение Определяет объект, инкапсулирующий способ взаимодействия множества объектов друг с…
https://abap-blog.ru/osnovy-abap/oop/posrednik-mediator/
Метафора Хорошей метафорой будет башня управления в аэропорту, через неё пилоты запрашивают разрешение на посадку и взлёт, а уже диспетчер в ней решает кто, куда и в каком порядке будет приземляться и взлетать. Нет необходимости во взаимодействии пилотов друг с другом напрямую. Назначение Определяет объект, инкапсулирующий способ взаимодействия множества объектов друг с…
https://abap-blog.ru/osnovy-abap/oop/posrednik-mediator/
abap-blog.ru
ABAP Blog | Посредник (Mediator)
Метафора Хорошей метафорой будет башня управления в аэропорту, через неё пилоты запрашивают разрешение на посадку и взлёт, а уже диспетчер в ней решает кто,
Приспособленец (Flyweight) (от 01.05.2016)
Метафора Представьте, что нам требуется поставить пьесу. Однако по сценарию в этой пьесе задействованы несколько десятков людей, которые по своей сути выполняют одинаковые действия, например, участвуют в массовках различных сцен в разные промежутки времени, но между ними всё же есть какие-то различия (например, костюмы). Нам бы стоило огромных денег нанимать для каждой роли отдельного…
https://abap-blog.ru/osnovy-abap/oop/prisposoblenec/
Метафора Представьте, что нам требуется поставить пьесу. Однако по сценарию в этой пьесе задействованы несколько десятков людей, которые по своей сути выполняют одинаковые действия, например, участвуют в массовках различных сцен в разные промежутки времени, но между ними всё же есть какие-то различия (например, костюмы). Нам бы стоило огромных денег нанимать для каждой роли отдельного…
https://abap-blog.ru/osnovy-abap/oop/prisposoblenec/
abap-blog.ru
ABAP Blog | Приспособленец (Flyweight)
Метафора Представьте, что нам требуется поставить пьесу. Однако по сценарию в этой пьесе задействованы несколько десятков людей, которые по своей сути выполняют
Фасад (Facade) (от 01.05.2016)
Метафора Представьте себе автомобиль. Для того чтобы им управлять, Вам вовсе не нужно знать устройство двигателя внутреннего сгорания и всех систем внутри него. Для этого достаточно уметь пользоваться его «Фасадом», интерфейсом с которым непосредственно взаимодействует водитель: руль, педали, коробка передач. Назначение Предоставляет унифицированный интерфейс вместо набора интерфейсов некоторой подсистемы. Фасад определяет интерфейс…
https://abap-blog.ru/osnovy-abap/oop/fasad-facade/
Метафора Представьте себе автомобиль. Для того чтобы им управлять, Вам вовсе не нужно знать устройство двигателя внутреннего сгорания и всех систем внутри него. Для этого достаточно уметь пользоваться его «Фасадом», интерфейсом с которым непосредственно взаимодействует водитель: руль, педали, коробка передач. Назначение Предоставляет унифицированный интерфейс вместо набора интерфейсов некоторой подсистемы. Фасад определяет интерфейс…
https://abap-blog.ru/osnovy-abap/oop/fasad-facade/
abap-blog.ru
ABAP Blog | Фасад (Facade)
Метафора Представьте себе автомобиль. Для того чтобы им управлять, Вам вовсе не нужно знать устройство двигателя внутреннего сгорания и всех систем внутри него.
Посетитель (Visitor) (от 01.05.2016)
Метафора Данный паттерн можно сравнить с прохождением обследования в больнице. Однако «посетителем» в терминах паттернов здесь будут сами врачи. Чтобы было понятнее: у нас есть больной, которого требуется обследовать и полечить, но так как за разные обследования отвечают разные врачи, то мы просто присылаем к больному врачей в качестве «посетителей». Правило взаимодействия для больного…
https://abap-blog.ru/osnovy-abap/oop/posetitel-visitor/
Метафора Данный паттерн можно сравнить с прохождением обследования в больнице. Однако «посетителем» в терминах паттернов здесь будут сами врачи. Чтобы было понятнее: у нас есть больной, которого требуется обследовать и полечить, но так как за разные обследования отвечают разные врачи, то мы просто присылаем к больному врачей в качестве «посетителей». Правило взаимодействия для больного…
https://abap-blog.ru/osnovy-abap/oop/posetitel-visitor/
abap-blog.ru
ABAP Blog | Посетитель (Visitor)
Метафора Данный паттерн можно сравнить с прохождением обследования в больнице. Однако «посетителем» в терминах паттернов здесь будут сами врачи. Чтобы было
Итератор (Iterator) (от 01.05.2016)
Метафора Все помнят школьное «на первый второй рассчитайся!»? Вот именно в этот момент шеренга вашего класса и являлась реализацией паттерна «итератор», хотя в программировании это конечно более функциональное понятие, но суть примерно та же. «Итератор» предоставляет правила доступа к списку каких-либо объектов независимо от того, что это за объекты. То есть не важно, какой…
https://abap-blog.ru/osnovy-abap/oop/iterator-iterator/
Метафора Все помнят школьное «на первый второй рассчитайся!»? Вот именно в этот момент шеренга вашего класса и являлась реализацией паттерна «итератор», хотя в программировании это конечно более функциональное понятие, но суть примерно та же. «Итератор» предоставляет правила доступа к списку каких-либо объектов независимо от того, что это за объекты. То есть не важно, какой…
https://abap-blog.ru/osnovy-abap/oop/iterator-iterator/
abap-blog.ru
ABAP Blog | Итератор (Iterator)
Метафора Все помнят школьное «на первый второй рассчитайся!»? Вот именно в этот момент шеренга вашего класса и являлась реализацией паттерна «итератор», хотя в
Абстрактная фабрика (Abstract factory) (от 01.05.2016)
Метафора Метафора паттерна описывается его названием. Когда вам необходима бутылка колы, вам не нужно при этом знать, как их производят на фабрике. Достаточно сказать «дайте мне колы», а фабрика уже возвращает вам бутылку. Каким образом создать эту бутылку остается полностью на совести фабрики. Предназначение фабрики в том, чтобы можно было бы в любой момент…
https://abap-blog.ru/osnovy-abap/oop/abstraktnaya-fabrika/
Метафора Метафора паттерна описывается его названием. Когда вам необходима бутылка колы, вам не нужно при этом знать, как их производят на фабрике. Достаточно сказать «дайте мне колы», а фабрика уже возвращает вам бутылку. Каким образом создать эту бутылку остается полностью на совести фабрики. Предназначение фабрики в том, чтобы можно было бы в любой момент…
https://abap-blog.ru/osnovy-abap/oop/abstraktnaya-fabrika/
abap-blog.ru
ABAP Blog | Абстрактная фабрика (Abstract factory)
Метафора Метафора паттерна описывается его названием. Когда вам необходима бутылка колы, вам не нужно при этом знать, как их производят на фабрике. Достаточно сказать «дайте мне колы», а фабрика уже возвращает вам бутылку. Каким образом создать эту бутылку…
Фабричный метод (Factory method) (от 01.05.2016)
Назначение Паттерн решает задачу определения некоторого интерфейса по созданию класса, конкретную реализацию которого определяют дочерние классы, реализующие данный интерфейс. В отличие от абстрактной фабрики, фабричный метод оперирует созданием одного единственного объекта, а не семейства. Данный паттерн имеет несколько версий реализации, мы рассмотрим реализацию через статический метод в базовом классе. В такой реализации в статический…
https://abap-blog.ru/osnovy-abap/oop/fabrichnyj-metod/
Назначение Паттерн решает задачу определения некоторого интерфейса по созданию класса, конкретную реализацию которого определяют дочерние классы, реализующие данный интерфейс. В отличие от абстрактной фабрики, фабричный метод оперирует созданием одного единственного объекта, а не семейства. Данный паттерн имеет несколько версий реализации, мы рассмотрим реализацию через статический метод в базовом классе. В такой реализации в статический…
https://abap-blog.ru/osnovy-abap/oop/fabrichnyj-metod/
abap-blog.ru
ABAP Blog | Фабричный метод (Factory method)
Назначение Паттерн решает задачу определения некоторого интерфейса по созданию класса, конкретную реализацию которого определяют дочерние классы, реализующие данный интерфейс. В отличие от абстрактной фабрики, фабричный метод оперирует созданием одного единственного…
Строитель (Builder) (от 01.05.2016)
Метафора Метафора данного паттерна явно следует из его названия. Представьте ситуацию, когда на стройке работает прораб (Director) и строители (Builder’ы). Строители умеют выполнять некоторые работы, которые необходимы, например, для кладки стены: положить на фундамент гидроизоляцию, замешать раствор, выложить кладку из кирпича. Однако сам строитель не знает технологического процесса который необходимо выполнить для того чтобы…
https://abap-blog.ru/osnovy-abap/oop/stroitel/
Метафора Метафора данного паттерна явно следует из его названия. Представьте ситуацию, когда на стройке работает прораб (Director) и строители (Builder’ы). Строители умеют выполнять некоторые работы, которые необходимы, например, для кладки стены: положить на фундамент гидроизоляцию, замешать раствор, выложить кладку из кирпича. Однако сам строитель не знает технологического процесса который необходимо выполнить для того чтобы…
https://abap-blog.ru/osnovy-abap/oop/stroitel/
abap-blog.ru
ABAP Blog | Строитель (Builder)
Метафора Метафора данного паттерна явно следует из его названия. Представьте ситуацию, когда на стройке работает прораб (Director) и строители (Builder’ы). Строители умеют выполнять некоторые работы, которые необходимы, например, для кладки стены: положить…
Прототип (Prototype) (от 01.05.2016)
Метафора Данный паттерн чем-то напоминает «фабрику», он также служит для создания объектов, однако с немного другим подходом. Представьте, что у вас есть пустой пакет (из-под сока), а вам нужен полный с апельсиновым соком. Вы «говорите» пакету «Хочу пакет апельсинового сока», он в свою очередь создает свою копию и заполняет ее соком, который вы попросили.…
https://abap-blog.ru/osnovy-abap/oop/prototip/
Метафора Данный паттерн чем-то напоминает «фабрику», он также служит для создания объектов, однако с немного другим подходом. Представьте, что у вас есть пустой пакет (из-под сока), а вам нужен полный с апельсиновым соком. Вы «говорите» пакету «Хочу пакет апельсинового сока», он в свою очередь создает свою копию и заполняет ее соком, который вы попросили.…
https://abap-blog.ru/osnovy-abap/oop/prototip/
abap-blog.ru
ABAP Blog | Прототип (Prototype)
Метафора Данный паттерн чем-то напоминает «фабрику», он также служит для создания объектов, однако с немного другим подходом. Представьте, что у вас есть пустой пакет (из-под сока), а вам нужен полный с апельсиновым соком. Вы «говорите» пакету «Хочу пакет…
Одиночка (Singleton) (от 01.05.2016)
Метафора Представьте, что Вам нужно организовать в городе телефонную связь. Можно протянуть кабеля от каждого жителя к каждому, но такое решение явно имеет недостаток при добавлении нового жителя, т.к. придётся тянуть от него кабель до всех других. Гораздо дешевле создать в городе телефонную станцию, к которой будет подсоединен каждый житель. Для того чтобы позвонить…
https://abap-blog.ru/osnovy-abap/oop/odinochka/
Метафора Представьте, что Вам нужно организовать в городе телефонную связь. Можно протянуть кабеля от каждого жителя к каждому, но такое решение явно имеет недостаток при добавлении нового жителя, т.к. придётся тянуть от него кабель до всех других. Гораздо дешевле создать в городе телефонную станцию, к которой будет подсоединен каждый житель. Для того чтобы позвонить…
https://abap-blog.ru/osnovy-abap/oop/odinochka/
abap-blog.ru
ABAP Blog | Одиночка (Singleton)
Метафора Представьте, что Вам нужно организовать в городе телефонную связь. Можно протянуть кабеля от каждого жителя к каждому, но такое решение явно имеет недостаток при добавлении нового жителя, т.к. придётся тянуть от него кабель до всех других. Гораздо…
Паттерны проектирования в ABAP примерах (от 08.05.2016)
Ранее в блоге уже упоминались паттерны проектирования (GoF), однако их рассмотрение было несколько скомканным и не полным, в данной статье они будут рассмотрены более подробно. Изучая паттерны, не стоит считать их неким священным Граалем, способным решить все задачи, они лишь инструмент, который нужно еще и грамотно применить. Главное, что нужно оценивать это то, какую проблему…
https://abap-blog.ru/osnovy-abap/oop/patterny-proektirovaniya-v-abap-primerax/
Ранее в блоге уже упоминались паттерны проектирования (GoF), однако их рассмотрение было несколько скомканным и не полным, в данной статье они будут рассмотрены более подробно. Изучая паттерны, не стоит считать их неким священным Граалем, способным решить все задачи, они лишь инструмент, который нужно еще и грамотно применить. Главное, что нужно оценивать это то, какую проблему…
https://abap-blog.ru/osnovy-abap/oop/patterny-proektirovaniya-v-abap-primerax/
abap-blog.ru
ABAP Blog | Паттерны проектирования в ABAP примерах
Ранее в блоге уже упоминались паттерны проектирования (GoF), однако их рассмотрение было несколько скомканным и не полным, в данной статье они будут рассмотрены более подробно. Изучая паттерны, не стоит считать их неким священным Граалем, способным решить…
Как учить ABAP? (от 27.05.2016)
Обзор курсов SAP посвященных ABAP.
https://abap-blog.ru/osnovy-abap/kak-uchit-abap/
Обзор курсов SAP посвященных ABAP.
https://abap-blog.ru/osnovy-abap/kak-uchit-abap/
abap-blog.ru
ABAP Blog | Как учить ABAP?
Обзор курсов SAP посвященных ABAP.
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 7.4. нам стала доступна новая технология описания моделей данных в словаре – ABAP CDS (CDS – Core Data Services). Данная технология позволяет описывать модели данных на более продвинутом уровне, нежели это можно было делать стандартными словарными вьюшками. Она так же позволяет оптимизировать работу с данными за счёт вынесения вычислений на уровень СУБД (Code-to-Data), что…
https://abap-blog.ru/osnovy-abap/slovar/abap-cds-core-data-services/
abap-blog.ru
ABAP Blog | ABAP CDS (Core Data Services)
Начиная с версии ABAP 7.4. нам стала доступна новая технология описания моделей данных в словаре – ABAP CDS (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/
Все больше в настоящее время SAP систем переходят на новую платформу (СУБД) – HANA (High-Performance Analytic Appliance), в основе которой лежит технология вычислений in-memory с использованием принципа поколоночного хранения данных. Вместе с новой платформой, появляются так же и новые возможности для обработки больших объемов данных и более высокопроизводительных вычислений. Для ускорения ABAP решений на базе HANA,…
https://abap-blog.ru/database-work/abap-managed-database-procedures-amdp/
abap-blog.ru
ABAP Blog | ABAP Managed Database Procedures (AMDP)
Все больше в настоящее время SAP систем переходят на новую платформу (СУБД) – HANA (High-Performance Analytic Appliance), в основе которой лежит технология вычислений in-memory с использованием принципа поколоночного хранения данных. Вместе с новой платформой…
ABAP 7.51 (от 20.10.2016)
Стала доступна документация к ABAP 7.51.
https://abap-blog.ru/osnovy-abap/abap-7-51/
Стала доступна документация к ABAP 7.51.
https://abap-blog.ru/osnovy-abap/abap-7-51/
abap-blog.ru
ABAP Blog | ABAP 7.51
Стала доступна документация к ABAP 7.51.