• Чем язык программирования отличается от фреймворка?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Фреймворк ( англ. "строительные леса", "каркас") относится к языку программирования как архитектура высотного здания относится к железобетону.

    Написать фреймворк значит решить задачу следующего характера:

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


    Таким образом основные качества фреймворка:
    • консистентность
    • простота использования и низкий порог вхождения
    • расширяемость
    • гибкость


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

    У меня преподавательница в университете слово употребляла правильное: "ортогонально".
    Представьте себе многомерную ортогональную структуру..
    Если строить ПО ортогонально оно станет фреймворком.

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

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

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

    Фреимворк пишут тогда, когда нужно клепать по схеме много чего-то. Потратил три дня на фреймворк, с потом пользуешься. И любые изменения требований решаются небольшими изменениями вводных данных.
    Ответ написан
    Комментировать
  • С чего начать изучение сетей?

    Ответ написан
    Комментировать