Это означает, что необходимо поместить новый код в новые классы/модули. Существующий код должен быть изменен только для устранения ошибки. Новые классы могут снова использовать существующий код через наследование.
Открываются/закрывают, принцип предназначается для снижения риска при представлении новой функциональности. Так как Вы не изменяете существующий код, Вас можно уверить, что он не был бы поврежден. Это уменьшает стоимость обслуживания и устойчивость продукта увеличения.
Существует несколько подходов, и ни один из них не дает никаких гарантий, что он действительно работает.
Если у компании, в которой вы работаете, уже есть рабочая база кода на Java, они вряд ли пойдут на это. ты серьезно, когда предлагаешь его переписать на другом языке.
Настоящий тест: вы верите, что Erlang - лучший выбор: Выйдите и создайте компанию-конкурента и поделитесь своими знаниями в области технологий, которые есть у вас в текущей отрасли. Ваши менеджеры действительно сравнивают аналогичный сценарий риска, как если бы вы уволились с работы, и ищут те же убедительные факты для успеха, что и вы, чтобы рассмотреть возможность оставить «безопасную» зарплату.
Что касается интеграции, ознакомьтесь с приложением jinterface в Erlang. Он позволяет коду Java отправлять сообщения узлам Erlang и позволяет Java открывать почтовые ящики узлам Erlang, как если бы там были процессы Erlang.
Что касается интеграции, ознакомьтесь с приложением jinterface в Erlang. Он позволяет коду Java отправлять сообщения узлам Erlang и позволяет Java открывать почтовые ящики узлам Erlang, как если бы там были процессы Erlang.
Что касается интеграции, ознакомьтесь с приложением jinterface в Erlang. Он позволяет коду Java отправлять сообщения узлам Erlang и позволяет Java открывать почтовые ящики узлам Erlang, как если бы там были процессы Erlang.
Все дело в ROI (окупаемости инвестиций) к менеджеру: менеджер будет беспокоиться о производительности (компании). Чтобы апеллировать к его деловой натуре, вам нужно будет обосновать это, используя доллар $ (или любую другую подходящую валюту).
Остерегайтесь того, чтобы предпринять «скунсовый» проект на стороне, чтобы «доказать» ваше решение на основе на Erlang может иметь неприятные последствия: " продукт и рынок ".
Мы вводим RabbitMQ в нашу инфраструктуру, которая в настоящее время запускает комбинацию приложений C ++, Java и Python. Я не собираюсь специально продвигать команду к Erlang, но если бы я был так, то внедрение хорошо написанного стороннего инструмента, который просто использует Erlang, - очень хороший способ встать на ноги.
Один Основное предостережение заключается в том, что, хотя Erlang - прекрасный язык для изучения, окружающие технологии (в частности, OTP) требуют огромного обучения и являются чрезвычайно примитивными во многих отношениях (отладка, IDE и т. д.). Все время становится лучше, но неохотные новообращенные распнут вас, если вы не предупредите их о том, как тяжело учиться программировать в совершенно иной среде. Даже такие простые вещи, как отсутствие технологии распознавания кода (например, введите 'foo.'
Начните с не нацеливания на перезапись, а с использования erlang для новой функции / проекта. Перезапись может быть дорогостоящей, и рискнуть на erlang для чего-то, что уже требует много времени и затрат, сложно продать. Но если есть что-то новое, что можно сделать на erlang и java, у вас больше шансов. Будем надеяться, что проект будет достаточно маленьким, и вы сможете заранее определить, подходит ли ему erlang, и соответственно адаптироваться. И когда erlang проявит себя в этом проекте, у вас будут более точные данные для обоснования своих аргументов.