metaclass: (Default)
[personal profile] metaclass
[...]

Описана штука, которой мне дико не хватает сейчас в дотнете. :)

Ее, по идее, можно будет сымитировать в .NET 3.5, с использованием extension methods, а пока (и в дельфи тоже) приходится извращаться, собирая несколько объектов в один объект-владелец, предоставляющий нужные интерфейсы и выдающий при необходимости внутренние объекты.

Date: 2008-04-11 10:48 am (UTC)
From: [identity profile] pete-by.livejournal.com
Что-то близкое реализовал в Java - dynamic inheritance with dynamic dispatch. В статически-типизированной java, тоже нет множественного наследования, mixins и других возможностей, которые в динамических языках стандартны. Но через proxy-based AOP подобное реализуется (у меня без method-resolution).

Date: 2008-04-11 11:15 am (UTC)
From: [identity profile] lemantar.livejournal.com
множественное наследование - зло. не имхо.

Date: 2008-04-11 11:40 am (UTC)
From: [identity profile] metaclass.livejournal.com
Зло, очевидно. В функциональных языках это хотя бы комбинаторами и функциями высшего порядка какими-нибудь обойти можно, а в приземленных жабах и дотнетах приходится вертеть интерфейсами и придумывать безумные паттерны.

Date: 2008-04-11 11:50 am (UTC)
From: [identity profile] lemantar.livejournal.com
Безумны не паттерны, а пример по вашему линку.
Создан класс "носорог", унаследованый от "животное". И вот надо добавить ему возможность "летать". Сидит бедолага и муется вопросом - как ему ещё унаследоваться и от бабочки. :-)
Но спрашивается - ЗАЧЕМ? Создай искпользуй класс "самолет", погрузи в него "носорог" и пусть себе летит! :-) А наследовать бегемотов от бабочек это маразм.

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 Sep. 14th, 2025 03:02 am
Powered by Dreamwidth Studios