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

  Если мы использовали фреймворк, то разработка приложений становится быстрее, и кроме контейнерных сервисов мы можем получить дополнительные сервисы из фреймворка. Поэтому мы использовали фреймворки для разработки приложений Real world.

Что такое Framework?

  Фреймворк, представляющий собой набор сервисов, т.е. разработанный на основе базовых технологий, способных динамически генерировать общую логику приложения. Какие из них можно использовать в нескольких приложениях? На основе других специфических для приложения логик, предоставляемых программистом, которые предоставляют набор библиотек, и эти библиотеки используются для ускорения разработки приложений. Библиотека — это не что иное, как JAR-файл, похожий на zip-файл, содержащий набор java-классов.

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

  Фреймворк программного обеспечения обеспечивает уровень абстракции по основным технологиям и упрощает процесс разработки приложений для программистов. Каждое программное обеспечение фреймворка внутренне использует определенные базовые технологии, но это заставляет программиста не беспокоиться о базовых технологиях (ничего об абстрактном уровне) при разработке программного приложения на основе фреймворка.

  Если мы разрабатываем веб-приложение на основе архитектуры MVC2 , используя основные технологии JSP- сервлета , тогда вся логика всех уровней должна разрабатываться программистами вручную с нуля. Если вы разрабатываете то же приложение с использованием структуры Struts, тогда логика индикации уровня контроллера будет генерироваться динамически, и программистам просто нужно сосредоточиться только на уровне представления, разработке логики уровня модели.

  Это повышает производительность разработки веб-приложений.

  Каркасы делятся на два типа.

1. Неинвазивный или не навязчивый

2. Инвазивные

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

Например:

             Spring, Hibernate — это неинвазивные рамки.

             Где как распорки это инвазивные рамки.

  Правила, которым должны следовать рамки:

1. Каждый фреймворк не является устанавливаемым программным обеспечением.

2. Каждая инфраструктура содержит объект высокого уровня и отвечает за создание оставшихся объектов низкого уровня.

3. Каждое приложение фреймворка содержит как минимум файл конфигурации фреймворка.