AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.03.2017, 17:48   #1  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
вот типичный пример программирования (или настройки) через XML-файлы от Microsoft
Это не очень хороший пример

Цитата:
"Нужна возможность замены любых классов и методов целиком"
Вот эта возможность, как принцип проектирования ПО называется Dependency Injection, который в свою очередь является частным случаем Inversion of Control.

Я вот не возьмусь доказывать, как подобный подход скажется на TCO, так как у меня нет таких данных, но, в общем то, такой подход очень широко распространен. Например, Spring (https://spring.io/) - фреймворк #1 для enterprise решений в мире java - целиком построен на этом принципе.

Можно написать свою реализацию существующего интерфейса, задеплоить его в виде отдельного jar файла на application server, а в конфигурационном файле просписать, что в качестве реализации интерфейса использовать вот эту конкретную реализацию. Вот так примерно:

Код:
<bean name="customerRepository"
          class="com.demas.repository.HibernateCustomerRepositoryImpl" />
p.s. Да, в мире NET есть тоже очень много библиотек, реализующих этот паттерн. MS, если я не ошибаюсь, советует/поддерживает Unity (https://msdn.microsoft.com/library/ff647202.aspx). Но, нужно понимать, что в отличии от Spring - это просто DI контейнер, без всей тучи инфрастуктуры, которая написана вокруг него для Spring.

Последний раз редактировалось Андре; 21.03.2017 в 17:53.
За это сообщение автора поблагодарили: ax_mct (5), mazzy (2).
Старый 21.03.2017, 18:21   #2  
AlexeyS is offline
AlexeyS
Участник
 
404 / 339 (12) ++++++
Регистрация: 15.06.2004
Адрес: москва
Цитата:
Сообщение от Андре Посмотреть сообщение
Это не очень хороший пример

Можно написать свою реализацию существующего интерфейса, задеплоить его в виде отдельного jar файла на application server, а в конфигурационном файле просписать, что в качестве реализации интерфейса использовать вот эту конкретную реализацию. Вот так примерно:

Код:
<bean name="customerRepository"
          class="com.demas.repository.HibernateCustomerRepositoryImpl" />
Рад бы видеть что-то попроще, но это то, что имеем сейчас.
Есть SSRS, который умеет работать с определенными расширениями, а мы добавляем еще, прописывая их в конфигурационном файле.
Тот-же самый принцип, что и bean, только сложнее прописывать и пока непонятно, как это дебажить в случае необходимости

Код:
<Extension Name="AXQUERY" Type="Microsoft.Dynamics.Framework.Reports.AxQueryConnection,Microsoft.Dynamics.Framework.ReportsExtensions, ...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Что ж, поздравляю, долго ждал, когда представится возможность найти, до чего можно открыто придраться, и наконец-то "открыть личико". S.Kuskov Курилка 8 03.02.2011 11:19
MorphX: Научите "сохранять всенастройки непосредственно в основной базе данных (БД) ERP Axapta и возможность их настройки с использованием возможностей интерфейса MorphX" aidsua Курилка 4 05.06.2008 23:49
Нужна ли кнопка "Рекомендовать в Полезное"? mazzy Обсуждение форума 6 12.03.2007 10:21
В списке "Новые сообщения" добавлена возможность перехода на новое сообщение... mazzy Информация для участников 31 01.02.2007 19:31
Опрос: "Нужна ли на форуме пополняемая база данных об ошибках и недоделках Аксапты" ? Zabr Обсуждение форума 93 13.11.2004 20:08

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:39.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.