metaclass: (Default)
[personal profile] metaclass
Наткнувшись в процессе проектирования проги на то, что мне одновременно необходимы фичи обычного C# со статической типизацией и фичи динамических языков, полез смотреть на IronPython/DLR и тому подобное. Ну, с ходу того, что меня интересует (адекватная интеграция с DBMS) я не нашел, GUI сложнее чем MessageBox("Hello, world"); тоже и в связи с этим возник вопрос:
На кого рассчитаны все нововведения в .NET 3.5/4.0?
Всякие там LINQ to SQL/Entity Framework/Expression Trees/DLR и прочее, причем production статус этого всего совершенно непонятен, неизвестно, что отомрет, что будет использоваться, итд. Все примеры для этого, которые я видел, они, мягко выражаясь, на уровне "select * from Customers -> УРА, Я ЗНАЮ SQL".

DLR, Expression Trees - рассчитаны на дизайнеров языков, причем в проекте IronScheme от DLR отказались ("but decided to abandon this idea because the DLR branch the project used became out of sync with the trunk, and also because the DLR, according to the developers, could not support the majority of the Scheme's requirements"). Как будто и так языков мало.

В общем, это все выглядит каким-то откровенным гиковством со стороны Microsoft, похоже там всякие выпускники CS факультетов затрахали в мозг менеджмент до состояния "пусть теребят свои монады как хотят, абы нас не трогали".


Это все при том, что высокоуровневые фичи в .NET как были кривые, так и остались, типа медленной отрисовки DataGridView или over-architected мрака в System.ComponentModel.

Date: 2010-08-04 11:13 am (UTC)
From: [identity profile] w00dy.livejournal.com
> Я знаю что такое Expression Trees и как они используются в Linq2Sql.

У вас однобокий взгляд на ситуацию. Я пользовал ORM DevExpress XPO. Он умеет по созданной структуре классов создать схему базы и обновлять с некоторыми ограничениями. У него есть Linq2Xpo провайдер, который много чего умеет выпихивать на сервер (группировки, join, фильтрацию, сортировки). В данном конкретном случае SRP банально соблюдён. Всеми вопросами хранения данных занимается ORM, а что за ним - не особо должно быть интересно (у лезть sql-ем в базу приходилось только когда делал какие-то масштабные апдейты схемы).

> Вы эти гриды видели?

Я не много их видел, а для win forms ещё меньше, но посмотрите на DevExpress. У них достаточно приличный грид, всё что вы написали вроде как умеет (группировку так точно, а кто такая люся лущик я не в курсе ;)

Date: 2010-08-04 12:03 pm (UTC)
From: [identity profile] asinitsyn.livejournal.com
>Он умеет по созданной структуре классов создать схему базы и обновлять с некоторыми ограничениями.

Увы, ОО модель программы не полностью соответствует даталогической модели. Поэтому для сколько-нибудь серьезного применения подобные ORM курят бамбук. Те, которые позволяют совместить правильную схему даннх с вашей правильной структурой классов - это хорошие, годные ORMы. Я таких не знаю.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 11th, 2025 11:31 am
Powered by Dreamwidth Studios