/ / Створення особистої панелі інструментів програмування - java, toolbox

Створення персональної панелі програмного забезпечення - java, toolbox

Останнім часом я розглядаю створення свого роду"toolbox" для себе в java. Він складав би стандартні алгоритми та структури даних, які часто використовуються, але біль, що потрібно реалізувати. (Я думаю графіки, дерева тощо)

Який би найкращий спосіб зробити це? Я думав про те, що використовують загальні ознаки або використовують абстрактний клас. Таким чином, я міг би мати будь-який об'єкт, який хотів використати методи, просто надати метод getGraphData () або щось подібне.

Я думаю, що генерики можуть бути кращими, хоча б тому, що абстрактний клас змусить мене успадкувати від нього, що може стати проблематичним.

Відповіді:

3 для відповіді № 1

Це називається бібліотекою ...

Об'єкти загального призначення повинні бути в Javaбібліотека Якщо відсутні деякі потрібні матеріали, ви можете спробувати додаткові бібліотеки, такі як Колекції Google. Можливо, вам потрібні бібліотеки, специфічні для домену.


0 для відповіді № 2

два способи про це:

Шлях 1:

  1. Створіть графік класу
  2. Створіть методи в класі Graph, кожен з яких відповідає вашому алгоритму.

Шлях 2:

  1. Створити графік класу (чисто структура даних)
  2. Створіть алгоритм класу
  3. Алгоритм підкласу для визначення кожного вашого нового алгоритму.

Звичайно, найкраще, якщо ви подивитеся на STLалгоритми і моделюйте алгоритми графа аналогічним чином. Ви навіть можете відкрити джерело своїх структур даних та асоційованих алгоритмів. Таким чином, громада може піклуватися про нові винагороди, міркування щодо ефективності, інтеграцію в / з існуючими бібліотеками тощо.

Джордж


0 для відповіді № 3

У більшості випадків слід використовувати вже існуючі бібліотеки, написані людьми, які дійсно знають, що вони роблять - ці бібліотеки були ретельно протестовані і впроваджені з ефективними алгоритмами для досягнення високої продуктивності.

Однак, якщо робити власні бібліотеки, я хотів би намагатися наслідувати найкращі - подивіться, як Колекції Java і Колекції Google розроблені. Подивіться, які інтерфейси надаються (List, Mapі т. д.) і які абстрактні класи і реалізації існують.

Тоді, якщо це для навчальних цілей, йти впереді напишіть свої власні реалізації. Це повинно бути весело, захоплююче і безперечно складним завданням. Спробуйте дізнатись, чи поведінка така, як очікувалося, - напишіть тести, щоб переконатися, що вони охоплюють типовий спосіб використання, а також крайові випадки.

Однак я рекомендую не використовувати його для реального використання, крім використання в навчальних закладах. Це не велика справа, щоб помилятися під час навчання, однак у реальному світі це дуже різні історії.