В прошлой статье мы рассмотрели разницу между библиотекой и фреймворком, а сегодня попробуем создать самый простой фреймворк на Java, чтобы закрепить понимание на практике.
Зная разницу между библиотекой и фреймворком мы можем смело приступить к созданию своего маленького фреймворка.
В чем цель создания фреймворка?
Целью является определение границ и управление процессом работы программы. Четкие границы и требования дают понимание того, где разработчикам реализовывать необходимые функции и как интегрировать с фреймворком.
Пишем простой фреймворк на Java
В примере ниже мы реализуем каркас и зададим рамки, в которых будет работать разработчик:
Ниже представлен класс Move.java. Разработчики могут расширять его своими функциями:
1 2 3 |
public abstract class Move { public abstract void action(); } |
Теперь давайте напишем так называемый «Шаблон», в котором заложена идея фреймворка — то, как он должен функционировать:
1 2 3 4 5 6 7 8 9 10 11 |
public class Robot { private Move mMove; public Robot(Move move){ mMove = move; } public void doMove(){ mMove.action(); } } |
Вот и все! Этот маленький фреймворк позволяет, точнее обязывает разработчиков наследовать класс Move.java
. В нем разработчики могут переопределить лишь метод action()
, например, так:
1 2 3 4 5 6 7 |
public class Walk extends Move { @Override public void action() { System.out.println("10 км/ч - неплохая скорость"); } } |
И работать это все будет в классе Main с главным методом main(). Он является точкой входа и его нельзя изменять.
1 2 3 4 5 6 |
public class Main { public static void main(String[] args) { Robot robot = new Robot(new Walk()); robot.doMove(); } } |
В этой статье мы написали самую простую реализацию фреймворка. Структура реальных фреймворков является очень сложной: она включает множественные зависимости и отношения, которые выстраиваются в сложный процесс, позволяя максимально повысить производительность и сосредоточиться на реализации бизнес-логики приложения.