Уместен ли ОО в программировании мобильных приложений с использованием J2ME? - PullRequest
0 голосов
/ 20 декабря 2009

Учитывая, что приложения для мобильных устройств должны быть небольшими и простыми, часто с тяжелыми вычислениями, выгруженными в веб-сервис.

  • Является ли OO, сверх и выше фреймворков, таких как J2ME, релевантным для программирования мобильных приложений?

  • Разве специфичные для приложения платформы, скажем, для индивидуальной настройки клиента, не будут ли издержками, которых можно избежать, особенно если сама существующая структура (J2ME) уже доступна?

  • Существуют ли какие-либо платформы J2ME, например, Распорки и т. Д.

Ответы [ 4 ]

3 голосов
/ 20 декабря 2009

Объектно-ориентированное программирование само по себе не подразумевает каких-либо особых накладных расходов. Это просто методология. Вы можете создавать программы, использующие методологию ОО-проектирования, которые по-прежнему бывают быстрыми и простыми, так же, как вы можете создавать не ОО-программы, которые являются медленными и неаккуратными.

1 голос
/ 20 декабря 2009

Конечно, используйте OO (в конце концов, это Java), но вы должны быть немного осторожнее, так как пространство и память ограничены для J2ME. Разумное использование классов хорошо, но не переусердствуйте с теми вещами, у которых есть классы, которые создают фабрики, которые генерируют другие вещи и т. Д. И т. Д. ... Это на самом деле то, что мне нравится в J2ME: вы не можете уйти за борт с "астронавтом архитектуры".

0 голосов
/ 20 декабря 2009

Как сказал г-н Кнут, «преждевременная оптимизация - корень всего зла».

Точно так же, просто потому, что вы сталкиваетесь с новой платформой, в данном случае с J2ME, нет смысла забывать все о том, как писать хорошее программное обеспечение, и возвращаться к глобальной все-процедурной-все-оргии.

Конечно, используйте свой мозг и не делайте того, что не делали бы на рабочем столе (например, java memleaks, порождая дерьмовую нагрузку на объекты и забывая избавляться от ссылок на них, или, что очень плохо, просто порождает множество объектов без разбора). Фабрики, создающие фабрики, создающие фабрики, могут, однако, быть не такими глупыми, как кажется, особенно если причина, по которой вы это делаете, заключается в том, что она помогает вам писать множество юнит-тестов. (И да, пишите юнит-тесты на J2ME!)

И, отвечая Дэвиду Н. Уэлтону несколькими ответами, «астронавт архитектуры» или чрезмерное проектирование никогда не должно произойти, если вы используете старый добрый итеративный подход - не усложняйте ситуацию пока это заметно не упростит вашу жизнь.

Итак, подводя итог, я чувствую, что все просто используют «ограничения памяти и пространства» на J2ME и Blackberry, чтобы выбросить из окна здравый смысл и написать дрянное, не ориентируемое на навигацию программное обеспечение. Уверяю вас, что если вы будете идти по итеративному пути и время от времени тестировать свое приложение, вы заметите, когда производительность станет неудовлетворительной, и примете соответствующие меры на этом этапе. И скорее всего, проблема в производительности будет из-за того, что вы делаете что-то глупое, а не из-за абстракций.

Отказ от ответственности: если вы читаете это с 1999 года, пишите для CLDC 1.0 с 1 КБ памяти или для карты JavaCard, игнорируйте все вышеперечисленное. Однако, если вы работаете на каком-либо современном телефоне, вам повезло!

0 голосов
/ 20 декабря 2009

Ну, J2ME - это Java и, следовательно, OO. Вы можете написать код процедурным способом в ОО-земле, но не в этом ли смысл сейчас, не так ли? Если вы не хотите делать OO, переключитесь на Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...