Разработка программного обеспечения и шаблоны в приложении GUI Matlab? [закрытый]

В SCDF формат команды для запуска файла JAR управляется развертывателем. Например, есть локальный развертыватель. Cloud Foundry и т.д ... Есть / был Hadoop / YARN, но я считаю, что он был прекращен. Учитывая, что сам развёртыватель является SPI , вы можете легко реализовать свой собственный или даже локальный развёртывание / расширение и изменять только то, что нужно.

10
задан Dan Vinton 2 December 2008 в 21:32
поделиться

3 ответа

Это - совершенно разумный вопрос, и с небольшим количеством осторожности возможно написать код GUI, который легко поддержать. Некоторые предложения:

  • Поместите код расположения GUI и "бизнес-логику" в различных m-файлах. (см., что это представление FileExchange, например, кодирует). Связано, используйте вложенные функции для поддержания состояния GUI вместо того, чтобы передать использования setappdata и getappdata или раздавания структуры.

  • В целом используйте вложенные и анонимные функции для обратных вызовов. Вложенная функция подобна внутренним классам в Java, и анонимные функции реализуют лексические закрытия (как блоки в Ruby).

  • Используйте исключения для контакта корректно с ошибками.

  • Дайте каждый объект GUI (например, ползунок, оси) уникальный и значимый тег. Например, "frequencySlider" или "dataAxes". Это помогает укрепить разделение между расположением GUI и логикой.

  • Средства управления gui, обеспеченные РУКОВОДСТВОМ, являются довольно низким уровнем, но можно реализовать допускающие повторное использование высокоуровневые компоненты путем выбора систематических имен тега для различных средств управления (например, 'frequencySlider' для ползунка и 'frequencyLabel' для связанной текстовой метки). Стандартная программа инициализации компонента может использовать findobj, чтобы искать различные части компонента и инициализировать их. Например.

    function myComponent(fig, basename)
       sliderHandle = findobj(fig, 'tag', [basename 'Slider']);
       textHandle = findobj(fig, 'tag', [basename 'Label']);
       %  initialize ...
       set(sliderHandle, 'Callback', @sliderCallback);

       % nested function for callback; note use of sliderHandle
        function sliderCallback(h,e)
            fprintf('current value is %g\n, get(sliderHandle,'Value'));
        end

      end
10
ответ дан 3 December 2019 в 23:52
поделиться

Я предполагаю, что у Вас (Dan Vinton) есть некоторое знание в коротковолновой разработке и в шаблонах разработки, Вы ищут обычную практику в мире MatLab. С этой целью я смотрел бы на панели инструментов MatLab пакетов GUI, такие как оптимизация, подбор кривых, и т.д. GUI всех этих панелей инструментов идет с их исходным кодом (они - обычные сценарии MatLab). Можно также смотреть на него или на исходный код нескольких высоко оцениваемых пакетов GUI от Центрального MatLab. Они дадут Вам хорошее представление обычной практики в MatLab.

3
ответ дан 3 December 2019 в 23:52
поделиться

У меня нет опыта с созданием GUI в matlab, но если Ваша компания потратит mony на него, matlab для .NET может быть более быстрой опцией. Это позволит Вам писать код matlab, который будет стучаться в com компоненте, который можно назвать от .NET, что означает, что Вы могли записать свой GUI на любом языке .NET, который Вы хотели. Ссылка для него ниже. http://www.mathworks.com/products/netbuilder/

0
ответ дан 3 December 2019 в 23:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: