Pull to refresh

Comments 25

каркас
каркас
каркас

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

А мне нравится каркас, что за пренебрежение к русскому? либо каркас либо framework.
И как, помогло это импортозаместить хамон и Мерседес?
Я называю это импортозамещением по-русски. Это французское слово (carcass — скелет).

Какая-то длинная статья. Чтобы понять фреймворк это или библиотека, достаточно ответить на вопрос "управляет ли оно потоком выполнения моей программы?". Если да, то это фреймворк, если нет, то это библиотека.


Если вопрос кажется дурацким или непонятным, его можно переформулировать вот так: "в своём коде я отвечаю на вопросы или скорее делаю утверждения?". Первое — использование фреймворка, второе — использование библиотеки.

Подробно разобраться хотелось, со своим «велосипедом».
На ваш взгляд ORM это фреймворк или библиотека?
Где в .net framework собственно сам фреймворк?
UFO just landed and posted this here
а в контексте построения ПО?
UFO just landed and posted this here

Хороший ОРМ (для дотнета, например, linq2db, бывший bl toolkit) — библиотека, плохой — фреймворк (пример — первые версии entity framework, linq 2 sql).

как-то странно получается, что в одном случае это фреймворк, а в другом библиотека. попробуем порассуждать: ORM реализует шаблон Data Mapper, но только в слое доступа к данным и заставляет нас строить эту часть приложения определенным образом, основным "потоком" выполнения приложения он не управляет, в таком случае в применении к всему приложению это библиотека, а в слое доступа данных — фреймворк.

Если принять, что фреймворк влияет в том числе на дизайн приложения, то, например, в первых версиях Entity Framework нужно было наследоваться от классов фреймворка, использовать только сгенерированный код, использовать edmx, использовать unit of work. В смысле ограничений весьма сильно.

В дотнете фреймворк — это джит-компилятор и рантайм. Остальное — это библиотеки.

Какой же это фреймворк. То, как оно там внутри работает не влияет на то, как проектируется приложение.
UFO just landed and posted this here

Фреймворк вызывает ваш код, ваш код вызывает библиотеки.

Библиотеки с коллбэками?

При вызове библиотеки и передаче коллбека, инициатива все равно была за вами.


Фреймворк стартует сам, при запуске приложения, и вызывает ваш код из определенного места.

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

А можете привести пример?
Без него сложно вам как-то ответить

Первое что под руку попалось:
require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');

$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false);
sfContext::createInstance($configuration)->dispatch();

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

Вы сами придумали такую интерпритацию паттерна “подписчик/издатель”?

да, это ошибка, должны все получать, исправлю

Sign up to leave a comment.

Articles

Change theme settings