Alexander 🐕
A framework has an inbuilt architecture, which dictates the way an application has to be written to use it. The framework includes a lot of design decisions, which helps in speedier development of application as the developer can now focus only on the domain. However this also means that once a framework is chosen there are not many alternatives for design of the application itself. Nowadays many popular RAD include the MVC architectural pattern.
Dmitri
Я про это: http://stackoverflow.com/a/148759/601572
Ну, собственно, никак не противоречит моему пониманию
Alexander 🐕
Alexander 🐕
В чем беда-то тогда, вообще?
Dmitri
У Петричека - частный случай, сконцентрированный более на философско-интерфейсной части.
Alexander 🐕
Бляяяя Частный случай чего?
Dmitri
Петричек говорит, что фреймфорк дает интерфейс для реализации, библиотека - реализует интерфейс.
Dmitri
Он забыл добавить "как правило"
Alexander 🐕
WTF
Alexander 🐕
Это и есть IoC - то, о чем говорит Петричек
Alexander 🐕
Это фундаментальное свойство фреймворка
Dmitri
В более простом понимании - библиотека предоставляет атомарную функциональность, фреймворк - платформу для полной реализации use-case'а.
Alexander 🐕
https://www.quora.com/Whats-the-difference-between-a-library-and-a-framework
Alexander 🐕
Framework A framework is a piece of code which dictates the architecture your project will follow. Once you choose a framework to work with, you have to follow the framework's code and design methodologies. The framework will provide you with hooks and callbacks, so that you build on it - it will then call your plugged-in code whenever it wishes, a phenomenon called Inversion of Control.
Dmitri
И в этом понимании .Net Framework - именно классический фреймворк.
Alexander 🐕
.Net Framework - это, кроме CLR, пачка разных assemblies
Alexander 🐕
Что именно из них - классический фреймворк, а что нет?
Dmitri
В какой части?
Во всей. Архитектуру диктует? Диктует. Флоу дает "искаропки"? Дает.
Dmitri
Ты не поверишь, во всех.
Alexander 🐕
Я написал программу на Java, портанул на C#
Alexander 🐕
И вот как так вышло, что на Java мне архитектуру никто не диктовал
Alexander 🐕
А на C# в эквивалентной программе вдруг начал? O_O
Alexander 🐕
Ладно, хусим
Alexander 🐕
Кто знает, как называется порт Sinatra на C#?
Dmitri
Вопрос в том, что .Net, как и конкурирующая платформа, позиционируются как фреймворк для всего
Alexander 🐕
Погрузив в мир маркетинговой хуйни
Dmitri
Отсюда и широкий выбор методологий
Alexander 🐕
Ладно, что касается .Net framework
Alexander 🐕
Как я выше убедительно показал, фреймворк - это не методология
Alexander 🐕
А реализация паттерна IoC на практике
Alexander 🐕
Ну да ладно
Dmitri
Поверх .Net строятся другие фреймворки
Alexander 🐕
Вот порт синатры на Java называется Spark
Dmitri
Это никто не запрещал
Alexander 🐕
Не тот Spark, который Spark, а другой
Alexander 🐕
И что же, когда я сказал, что CLR - это фреймворк для построения языков программирования
Alexander 🐕
Даже, наверное, экосистем программирования
Alexander 🐕
Я был неправ?
Alexander 🐕
Видимо - я таки был прав
Alexander 🐕
Хотя Антон меня на этом записал в блаженные
Alexander 🐕
Да, так вот
Alexander 🐕
Когда мы возьмем порт синатры под .Net
Alexander 🐕
И возьмем порт Jetty под .Net
Dmitri
.Net - это фреймворк "для всего", так он позиционируется
Alexander 🐕
И соберем из этого консольное приложение без использования того говна, которое в MS отвечает за веб-стек
Alexander 🐕
То у нас будет веб-приложение
Dmitri
ну да, будет
Alexander 🐕
Которое, внимание, из .Net фреймворка не использует ничего, кроме CLR и каких-то core assemblies
Alexander 🐕
.Net - это фреймворк "для всего", так он позиционируется
Ну - тут парни из Редмонда, безусловно, правы
Alexander 🐕
"Нахуй не нужный фреймворк для всего"
иой
эээх щяс бы исполняющую среду фреймворком называть
Alexander 🐕
Но коллега Дмитрий не смущается
Dmitri
Которое, внимание, из .Net фреймворка не использует ничего, кроме CLR и каких-то core assemblies
для построения языков и платформ разработки нынче Roslyn в моде, вроде
Alexander 🐕
У него JDK это фреймворк
Alexander 🐕
для построения языков и платформ разработки нынче Roslyn в моде, вроде
Я не сильно слежу - но это, кажется, компилятор
иой
это компилятор
Dmitri
ага, который можно научить байткод из любого языка под .Net Runtime собрать
Dmitri
А CoreCLR - это рантайм
Dmitri
Пруф: https://github.com/dotnet/coreclr
Alexander 🐕
Ладно, к чему мы пришли-то?
Alexander 🐕
Хер бы за ним
Александр
Воду погоняли вы..
Alexander 🐕
Фреймворк так фреймворк
Alexander 🐕
Для всего
Alexander 🐕
Пусть .Net Framework - это фреймворк для всего
Dmitri
Собственно, к тому, что как раз .Net Framework не включает в себя инструментарий для разработки языков программирования...
Alexander 🐕
Вот есть у меня эта самая аппликуха
иой
я не помню с чего там началось
иой
чето про круды
Alexander 🐕
С портом джетти на C# и портом Spark на C#
Alexander 🐕
И где в ней, сука, IoC?