Здравствуйте, gandjustas, Вы писали:
G>Создание фреймворка отличается от создания приложения.
И отличается и пересекается, всё вместе.
G>Для фреймворка необходимо продумывание того что он будет делать. Но это уже продумывание будет на более высоком уровне, чем отдельные классы или фичи.
В том то и дело, что думали. В Linq 2 SQL даже выделенный для этого (правда засиленный) модуль есть. Но вот ни в деталях, ни на уровне отдельных классов, ни на более высоком уровне ничего путного не получилось. Я уже это неоднократно озвучивал, озвучу ещё раз:
Чем позже архитектура начинает учитывать определённые детали, тем менее приспособленной она становится для внесения соответствующих изменений.
С ростом кода его гибкость теряется и его приходится периодически размягчать с помощью соотвествующих техник и рефакторинга. Но иногда это становится невозможным, как, например, в случае с компилятором Немерле. Замечательный язык, а компилятор — отшлифованный до блеска кусок гранита. Сразу не учли всего несколько пустяков, вроде вменяемой поддержки locations, и создание интеграции для студии превратилось в многолетний кошмар. Нужно ли было сразу писать интеграцию? Вряд ли. Можно ли было учесть определённые детали? Безусловно.
Если нам не помогут, то мы тоже никого не пощадим.