При разработке программной платформы, каковы основные элементы, которые составляют успешную сменную архитектуру?

Используйте @Type (только в Hibernate):

@Column(precision = 5, scale = 4)
@Type(type = "big_decimal")
private double similarity;

Результатом будет определение (PostgreSQL, Oracle):

similarity numeric(5, 4),
similarity number(5, 4)
7
задан Jonas 7 April 2010 в 08:07
поделиться

4 ответа

Лично есть 3 основных участника, влияющих на то, научусь ли я (и делаю) писать приложения для любой данной системы:

Действительно ли система очень полезна, чтобы я хотел использовать ее достаточно, чтобы быть достаточно мотивированным, чтобы расширить его?

Использует ли система язык, с которым я знаком, или его легко выучить, в отличие от какого-то непонятного, закрытого или иного слишком сложного решения (см. elisp)?

Система плагинов очень хорошо задокументирована и понятным языком, так что я могу заниматься написанием своего плагина и не тратить часы (или дни) на расшифровку системы?

Если все это правда, то единственная причина, по которой вы не хотели бы Разработка для платформы заключается в том, что кто-то уже написал плагины для всех ваших идей. :)

Я думаю, что это ' Также чрезвычайно полезно / важно иметь центральный и хорошо известный репозиторий для размещения пользовательских плагинов (в соответствии с вашими примерами проектов). Я ненавижу рыскать по сети в поисках отдельных, возможно, низкого качества или даже вредоносных надстроек для того, что я пытаюсь сделать. Это должен быть веб-сайт или вики, поскольку даже форумы или архивы списков рассылки могут раздражать и требовать много времени, чтобы копаться.

1
ответ дан 7 December 2019 в 16:45
поделиться

Вы упускаете суть.

JVM - это подключаемая архитектура. Каждый файл класса подключается к нему и расширяет его.

Apache - это подключаемая архитектура на нескольких уровнях. Есть «моды». Некоторые моды запускают другие интерпретаторы, которые сами по себе являются подключаемыми архитектурами. PHP, mod_wsgi / Python и т. Д. Подключены к Apache.

Python представляет собой подключаемую архитектуру с файлами Python .pyc и объектными файлами (.DLL, .SO), которые подключаются к ней.

Каждая языковая среда - - фактически - подключаемая архитектура.

1
ответ дан 7 December 2019 в 16:45
поделиться

Платформа - это основа

Одно из представлений о программной платформе - это основа, на которую опирается другое программное обеспечение для выполнения другой задачи. Это может показаться простым и довольно очевидным заявлением, но оно очень важно.

Основы должны быть простыми

Платформа должна иметь цель, и разработчики платформы должны знать об этом при разработке API, чтобы стало очевидно, что основные варианты использования таковы, и API вокруг них должны быть сделаны как можно более простыми для использования в отношении способа их разработки, а также в отношении документации вокруг них.

Точки расширения должны быть очевидными

Расширяемость платформы заключается в предоставлении разработчикам возможности расширять или изменять платформу. Если это то, что вы хотите поощрять, тогда вам необходимо очень четко разъяснить природу и ограничения этой расширяемости и предоставить четко определенный набор интерфейсов, позволяющий это сделать.

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

Извините, если это немного "архитектурный астронавт", Я действительно думаю, что высказал некоторые обоснованные замечания, возможно, я сделал их плохо, не стесняйтесь указать на это или добавить к ним

1
ответ дан 7 December 2019 в 16:45
поделиться

Не забывайте Eclipse > 1000 зарегистрированных сторонних "плагинов" (на самом деле они состоят из еще меньших плагинов в терминологии Eclipse )). Частично его успех может быть связан с наличием хороших практических правил о том, как разработать плагин, который также может быть расширен другими. Также существует строгая политика управления версиями API (которая, конечно же, имеет свои недостатки).

0
ответ дан 7 December 2019 в 16:45
поделиться
Другие вопросы по тегам:

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