powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / делегаты
152 сообщений из 152, показаны все 7 страниц
делегаты
    #38455252
fgoghff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кто для чего использует. примеры
...
Рейтинг: 0 / 0
делегаты
    #38455260
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Свойства. Кто для чего использует. Примеры.
...
Рейтинг: 0 / 0
делегаты
    #38455298
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fgoghffкто для чего использует. примерыа причем тут Asp.Net?
...
Рейтинг: 0 / 0
делегаты
    #38455341
fgoghff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паганельfgoghffкто для чего использует. примерыа причем тут Asp.Net?

кто для чего использует их в аспнет. примеры
...
Рейтинг: 0 / 0
делегаты
    #38455369
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fgoghffкто для чего использует. примерыНууу... например для смены пароля.
...
Рейтинг: 0 / 0
делегаты
    #38455462
Dmitry Gurianov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAfgoghffкто для чего использует. примерыНууу... например для смены пароля.

(new Delegate()).ChangePassword();
...
Рейтинг: 0 / 0
делегаты
    #38455492
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAfgoghffкто для чего использует. примерыНууу... например для смены пароля. Тьфу, для подтверждения

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
public delegate bool ConfirmUserPasswordHandler();

public ConfirmUserPasswordHandler ConfirmUserPassword;

public bool RefreshLogon(double maximumActivityDelay)
{
    if (maximumActivityDelay> currentActivityDelay)
    {
        return true;
    }

    if (ConfirmUserPassword())
    {
        currentActivityDelay = 0;
        lastActivityTime = DateTime.Now;
        
        return true;
    }

    return false;
}
...
Рейтинг: 0 / 0
делегаты
    #38455559
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA, не понимаю, зачем в этой задаче делегат?
...
Рейтинг: 0 / 0
делегаты
    #38455568
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fgoghffПаганельпропущено...
а причем тут Asp.Net?

кто для чего использует их в аспнет. примерыя не использую, но их использовали разработчики стандартных контролов
примеры спрашивайте у них
...
Рейтинг: 0 / 0
делегаты
    #38455570
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, чтобы от реализации морды не зависеть. Класс, где этот код есть, использовался как в WinForms клиенте, так и в ASP.NET.
...
Рейтинг: 0 / 0
делегаты
    #38455575
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУ, чтобы от реализации морды не зависеть. Класс, где этот код есть, использовался как в WinForms клиенте, так и в ASP.NET.
Чтоб от реализации морды не зависеть, нужно курить IoC. А делегаты в данном контексте - прибивание гвоздей экскаватором, я считаю.
...
Рейтинг: 0 / 0
делегаты
    #38455582
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понял ни вопроса, ни последовавших ответов.

для чего используются делегаты прекрасно написано в документации
...
Рейтинг: 0 / 0
делегаты
    #38455966
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAМСУ, чтобы от реализации морды не зависеть. Класс, где этот код есть, использовался как в WinForms клиенте, так и в ASP.NET.
Чтоб от реализации морды не зависеть, нужно курить IoC. А делегаты в данном контексте - прибивание гвоздей экскаватором, я считаю.Возможно. Накидай пример с IoC, обсудим
...
Рейтинг: 0 / 0
делегаты
    #38455985
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВозможно. Накидай пример с IoC, обсудим
А что там кидать, бери DI контейнер, бери абстракцию IAuthService.RefreshLogon, бери реализацию WebAuthService: IAuthService и радуйся.
...
Рейтинг: 0 / 0
делегаты
    #38456010
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВозможно. Накидай пример с IoC, обсудим

public IAuthService AuthService {get;set;} // для proptery-injection

...


AuthService.RefreshLogon(...)


чего тут обсуждать-то?
...
Рейтинг: 0 / 0
делегаты
    #38456081
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гы. Дак это не просто IAuthService

Это некий класс, что хранит информацию о сенасе пользователя: данные о самом пользователе, его активности. Этакий SessionContext, или ExecutionContext.

И если пользователь покинул рабочее место и отсутсвует(овал) длительное время, то для продолжения работы нужно запросить подтверждение пароля.
...
Рейтинг: 0 / 0
делегаты
    #38456108
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

вообще-то информация об аутентификации храниться в Ticket

почитайте

http://support.microsoft.com/kb/910443

достаётся средствами мембершипа. расшифровывается и десерилизуется. а класс сервиса как реализован зависит от задачи. что и как делает неизвестно. в этом как раз и великий смысл IoC.
...
Рейтинг: 0 / 0
делегаты
    #38456109
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANA,

вообще-то информация об аутентификации храниться в Ticket

почитайте

http://support.microsoft.com/kb/910443

достаётся средствами мембершипа. расшифровывается и десерилизуется. а класс сервиса как реализован зависит от задачи. что и как делает неизвестно. в этом как раз и великий смысл IoC.В WinForms использовать можно?
...
Рейтинг: 0 / 0
делегаты
    #38456117
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВ WinForms использовать можно?

в WinForms использовать систему авторизации и аутентификации ASP.NET? ну канешна!
...
Рейтинг: 0 / 0
делегаты
    #38456123
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAВ WinForms использовать можно?

в WinForms использовать систему авторизации и аутентификации ASP.NET? ну канешна! Вот я о чём.

Это не аутентификация. Пользователь уже залогинился, уже прошёл аутентификацию. Класс не предназначен для аутентификации.
Класс предназначен для отслеживания активности пользователя.
...
Рейтинг: 0 / 0
делегаты
    #38456128
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причём классу не важно какой клиент использует пользователь для работы с системой: WinForms или ASP.NET.
...
Рейтинг: 0 / 0
делегаты
    #38456132
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПричём классу не важно какой клиент использует пользователь для работы с системой: WinForms или ASP.NET.

возвращаемся к теме IoC.
ваш делегат это по сути ручная (хардкодинг) реализация того,
что предлагается DI-контейнером.
...
Рейтинг: 0 / 0
делегаты
    #38456150
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAПричём классу не важно какой клиент использует пользователь для работы с системой: WinForms или ASP.NET.

возвращаемся к теме IoC.
ваш делегат это по сути ручная (хардкодинг) реализация того,
что предлагается DI-контейнером.Не понимаю. Класс делегирует метод запроса подтверждения пароля вызывающему коду.
То есть в WinForms клиенте реализуется метод, что открывает диалог, в ASP.NET клиенте вызывающий код тупо дёргает FormsAuthentication.SignOut.

А в случае c IoC что будет? Некая реализация IAuthService будет открывать диалог?
...
Рейтинг: 0 / 0
делегаты
    #38456172
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА в случае c IoC что будет? Некая реализация IAuthService будет открывать диалог?

в случае IoC, у вашего клиента будет интерфейс с методом подтверждения, который он будет дергать. а что там будет происходить в реализации ему по барабану вообще. пусть для WinForms будет открываться какое-то окошко или диалог. да хоть корабли в космос пусть запускает
...
Рейтинг: 0 / 0
делегаты
    #38456213
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAА в случае c IoC что будет? Некая реализация IAuthService будет открывать диалог?

в случае IoC, у вашего клиента будет интерфейс с методом подтверждения, который он будет дергать. а что там будет происходить в реализации ему по барабану вообще. пусть для WinForms будет открываться какое-то окошко или диалог. да хоть корабли в космос пусть запускает Ну да. А сейчас что не так? Где хардкод?
Есть реализация, что одинакого работает и в Win, и в Web клиенте. Нет необходимости писать две различные реализации.
...
Рейтинг: 0 / 0
делегаты
    #38456288
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНу да. А сейчас что не так? Где хардкод?
Есть реализация, что одинакого работает и в Win, и в Web клиенте. Нет необходимости писать две различные реализации.

тогда зачем делегат?
...
Рейтинг: 0 / 0
делегаты
    #38456318
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAНу да. А сейчас что не так? Где хардкод?
Есть реализация, что одинакого работает и в Win, и в Web клиенте. Нет необходимости писать две различные реализации.

тогда зачем делегат?Эххх... Плохо пример написал. Некий класс следит за активностью пользователя, обсёрвит различные события, запоминает время последней активности (в памяти, в сессии, в базе, не важно).
Пользователя вдруг дёргают (допустим это врач, его вызывают на операцию). Врач уходит. Через 15 минут в кабинет заходит любопытная уборщица и лезет смотреть, что же там делал врач.

Класс ловит событие активности, проверяет, что превышено максимальное время бездействия и говорит: стопэ, чтобы дальше продолжить, нужно подтвердить себя.

Сам он ясен пень не может чистить куки, редиректить на страницу логина, открывать диалоги. Он делегирует это.
Если вызывающая сторона не предоставляет реализацию запроса подтверждения, то дальнейшая активность тупо пресекается.
...
Рейтинг: 0 / 0
делегаты
    #38456398
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
можно еще такой финт предложить,( что бы тех и тех успокоить)

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
class Program
    {
        static void Main(string[] args)
        {
            MyFactory.Registration(1, () => Console.WriteLine("fdfsdfsdf"));
            MyFactory.Registration(2, () => Console.WriteLine("rertyrty"));
            MyFactory.Registration(3, () => Console.WriteLine("fdfhgkgggggggggggggggggggggggggggggggggggsdfsdf"));
            while (true)
            {
                int intt;
                if (int.TryParse(Console.ReadLine(), out intt))
                {
                    MyFactory.Resolve(intt);
                }
                else
                {
                    Console.WriteLine("мимо ((");
                }

            }

        }
    }

    public static class MyFactory
    {
        private static readonly Dictionary<int, Action> Baseactions = new Dictionary<int, Action>();

        public static void Registration(int key, Action action)
        {
            Baseactions.Add(key, action);
        }

        public static void Resolve(int key)
        {
            Action action;
            if (Baseactions.TryGetValue(key, out action))
            {
                action();
            }
            else
            {
                Console.WriteLine("Не заряжен ((");
            }
        }
    }


...
Рейтинг: 0 / 0
делегаты
    #38456407
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи, дак Action жеж делегат :)
...
Рейтинг: 0 / 0
делегаты
    #38456456
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
ну а че, добавили указатель, или по месту, и вперед делегаты депутаты
...
Рейтинг: 0 / 0
делегаты
    #38456482
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAОн делегирует это
Это логика, которая легко покрывается с помощью DI. Я не понимаю, нахрена тебе делегаты? :)
...
Рейтинг: 0 / 0
делегаты
    #38456507
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAОн делегирует это
Это логика, которая легко покрывается с помощью DI. Я не понимаю, нахрена тебе делегаты? :)Если легко, то покажи мне код. Ну или опиши словами что-ли, что и куда ты собрался инжектить.

P.S.: а логика реализована 6 лет назад, и прекрасно работает. Я просто вспонил о ней, прочитав вопрос ТС.
...
Рейтинг: 0 / 0
делегаты
    #38456518
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

я так и не понял, ты делегат где определяешь? и почему нельзя обойтись обычным методом класса? зачем мудрить?
...
Рейтинг: 0 / 0
делегаты
    #38456776
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANA,

я так и не понял, ты делегат где определяешь? и почему нельзя обойтись обычным методом класса? зачем мудрить?Класс следит за активностью сессии пользователя.
В какой-то момент он наблюдает ситуацию, что между текущим и предыдущим действием прошло больше положенного времени и блокирует дальнейшие действия, пока пользователь не подтвердит, что это именно он.
Причём нам не интересно как пользователь будет подтверждать то, что это именно он. Будет ему показан диалог, или его пошлют на страницу логина. Это поведение делегируется!

Не, ну можно кинуть исключение, что вызывающий код либо обработает, либо нет. Или событие, на которое вызывающий код либо подпишется, либо нет.

Но что значит обойтись обычным методом класса?
...
Рейтинг: 0 / 0
делегаты
    #38456805
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

ок. но в данном случае не интересно чем занимается класс. важно кто и когда определяет делегат у инстанса твоего класса?

skyANAЭто поведение делегируется!

вот кем, чем и когда делегируется?
...
Рейтинг: 0 / 0
делегаты
    #38456810
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANA,

ок. но в данном случае не интересно чем занимается класс. важно кто и когда определяет делегат у инстанса твоего класса?

skyANAЭто поведение делегируется!

вот кем, чем и когда делегируется?А вот это уже зависит от конкретного клиента и спокойно может разруливаться на уровне IoC контроллера.
...
Рейтинг: 0 / 0
делегаты
    #38456834
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

так об этом и речь. кстати, почему не event-событие? а делегат?
...
Рейтинг: 0 / 0
делегаты
    #38456876
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttтак об этом и речь.Разверни мысль.
hVosttкстати, почему не event-событие? а делегат?1. Обработчики событий — это нe что иное, как методы, вызываемые с помощью делегатов. Это кстати по твоей же ссылке и написано;
2. В конкретном клиенте один способ подтвердить пароль: один диалог подтверждения пароля, одна страничка, - и события тут на фиг не нужны. Плюс мы исключаем возможность того, что на событие подпишутся несколько раз и пользователя попросят подтвердить себя подряд несколько раз, да ещё вдруг разными способами.
...
Рейтинг: 0 / 0
делегаты
    #38456909
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAРазверни мысль.

да хотя бы даже так:
Код: c#
1.
2.
3.
IUserConfirmator {
   void ConfirmUserPassword();
}


а делегат — это костыль. оно вообще изначально для событий было изобретено. поведение реализуется либо с помощью ООП, либо на уровне интерфейсов.

использовать делегаты для решения таких задач — грубо, не профессионально и прошлый век вообще.

с делегатом в числе свойств/полей класса получается лапша-доширак в коде. все перемешалось. и мухи, и котлеты.
после адекватного ревью, такой кусок кода должен был бы помечен, как "WTF, убрать ево нафих!"
...
Рейтинг: 0 / 0
делегаты
    #38456926
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAРазверни мысль.

да хотя бы даже так:
Код: c#
1.
2.
3.
IUserConfirmator {
   void ConfirmUserPassword();
}


а делегат — это костыль. оно вообще изначально для событий было изобретено. поведение реализуется либо с помощью ООП, либо на уровне интерфейсов.

использовать делегаты для решения таких задач — грубо, не профессионально и прошлый век вообще.

с делегатом в числе свойств/полей класса получается лапша-доширак в коде. все перемешалось. и мухи, и котлеты.
после адекватного ревью, такой кусок кода должен был бы помечен, как "WTF, убрать ево нафих!" А конструктивные аргументы будут?
...
Рейтинг: 0 / 0
делегаты
    #38456934
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA, куда уж конструктивнее, всё четко по делу :) Архитектура на делегатах просто убийственна. Посмотри фильм Бомж с дробовиком. Тот случай, зуб даю.
...
Рейтинг: 0 / 0
делегаты
    #38456936
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANA, куда уж конструктивнее, всё четко по делу :) Архитектура на делегатах просто убийственна. Посмотри фильм Бомж с дробовиком. Тот случай, зуб даю.Минусы какие? Какие проблемы могут возникнуть при таком подходе?
...
Рейтинг: 0 / 0
делегаты
    #38457048
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУskyANA, куда уж конструктивнее, всё четко по делу :) Архитектура на делегатах просто убийственна. Посмотри фильм Бомж с дробовиком. Тот случай, зуб даю.Минусы какие? Какие проблемы могут возникнуть при таком подходе?
Никакой инверсии, прибивание реализаций гвоздями к забору. Делегатный хаос.
...
Рейтинг: 0 / 0
делегаты
    #38457052
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAпропущено...
Минусы какие? Какие проблемы могут возникнуть при таком подходе?
Никакой инверсии, прибивание реализаций гвоздями к забору. Делегатный хаос.Что такое "прибивание реализаций гвоздями к забору"? А про делегатный хаос можно поподробнее, а то я с таким ещё не сталкивался?
...
Рейтинг: 0 / 0
делегаты
    #38457101
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

проблема №1.
удерживание контекста.

вам надо где-то сделать

Код: c#
1.
client.DelegateHandlerProperty = someClassInstance.MainDelegatenRealizutn();



если на объект someClassInstance потеряется ссылка, то будет Жопа

получив же экземпляр интерфейса мы точно знаем, что объект по ссылке будет жить до последнего вздоха хранителя ссылки, если это не WeakReference конечно

проблема №2.
размазывание логики.

может быть ты не знал, что по логике в свойствах и полях класса хранятся объекты, а не методы. не надо путать C# с JavaScript (где такой подход не только уместен, он жизненно необходим). существует небольшой ряд исключений из правил, например спецификации, где однако задача достаточно чётко обозначена и это обосновано. в основном делегаты — события и функциональщина в чистом виде. т.е. жизнь делегата должна быть коротка, очень коротка.., либо жестко кем-то управляема (event).

проблема №3.
гвозди.

что будет, если делегату надо будет хранить еще какое-то состояние. самый банальный пример в контексте задачи: период проверки, кеш, еще что-то. кто знает? с делегатом нам придётся из самой реализации делегата что-то там дергать через что-то ещё. и это кривые ржавые торчащие гвозди. короче ад.

проблема №4.
избыточность.

перед вызовом делегата, надо проверить его на null. или... а что делать если null? здравствуй здравствуй неочевидная логика! ))
делегат надо где-то установить. значит кто-то этим должен заняться, типо кого-то озадачить лишней ответственностью — определение делегата. и это будет хардкод в чистом виде. и никак не получится от этого абстрагироваться, как в случае с интерфейсом.

--------------

всё это не значит, что делегаты нельзя использовать неправильно. очевидно, это будет просто плохой код. но далеко не всех это беспокоит
...
Рейтинг: 0 / 0
делегаты
    #38457104
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ошибочка...

Код: c#
1.
client.DelegateHandlerProperty = someClassInstance.MainDelegatenRealizutn;
...
Рейтинг: 0 / 0
делегаты
    #38457185
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttвсё это не значит, что делегаты нельзя использовать неправильно. очевидно, это будет просто плохой код. но далеко не всех это беспокоит Меня это действительно не беспокоит. Код 2006 года и с ним нет никаких проблем. Я о нём после пятой кружки Guinness вспомнил

По поводу п.3: не понял, зачем ты выдумал какой-то период проверки и прочее в контексте задачи? По какому принципу происходит проверка никак не связана с делегатом.

По поводу п.4: если null, то очевидно, что мы не прошли проверку. Ровно также, если исключение не обработано, или экземпляр IUserClassifier не определён.

С п.1 соглашусь, хотя сложно представить себе эту ситуацию.

По поводу п.2: честно не понял, о каком размазывании логики ты говоришь. Зато вспомнил BlToolkit, у них там есть место, где они используют делегаты в качестве статических свойств класса.
...
Рейтинг: 0 / 0
делегаты
    #38457190
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAвспомнил BlToolkit, у них там есть место, где они используют делегаты в качестве статических свойств класса.И не только статических...
...
Рейтинг: 0 / 0
делегаты
    #38457197
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

BlToolkit - это что, хороший пример?
...
Рейтинг: 0 / 0
делегаты
    #38457201
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил, ну достаточно известная библиотека.

Как бы так сэмулировать п.1 (если на объект someClassInstance потеряется ссылка), а?
...
Рейтинг: 0 / 0
делегаты
    #38457215
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

работающего говнокода в мире навалом вот этот офигенный оргумент-железяка «ну оно же работает» надо повесить в рамочку с чёрной ленточкой.
...
Рейтинг: 0 / 0
делегаты
    #38457219
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANA,

работающего говнокода в мире навалом вот этот офигенный оргумент-железяка «ну оно же работает» надо повесить в рамочку с чёрной ленточкой.Ты сначала докажи, что говнокод А то ведь "ваша музыка говно, потому что она говно" тоже можно повесить в рамочку.
...
Рейтинг: 0 / 0
делегаты
    #38457232
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

"а оно ж у меня с N-знает какого-года работает" ... типо такой офигенно веский, прям мегаубийственный аргумент.

у меня тоже есть такой эдакий код 7-летней давности, там в портянках листинга разобраться не хватит и двух ящиков водки.
я вот туда ни за что не полезу. но оно работает! просто магия и волшебство какое-то.

я утверждаю, что в твоей задаче делегат нафиг не сдался. не вижу объективных причин. лично я свои аргументы привёл. вместо того, чтобы оспаривать их, докажи от обратного, что не говнокод . где эти убийственные аргументы в защиту? только без порядком поднадоевшего "работает же".
...
Рейтинг: 0 / 0
делегаты
    #38457393
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУНикакой инверсии, прибивание реализаций гвоздями к забору. Делегатный хаос.Что такое "прибивание реализаций гвоздями к забору"? А про делегатный хаос можно поподробнее, а то я с таким ещё не сталкивался?
Много дилетантских вопросов, я в замешательстве...
...
Рейтинг: 0 / 0
делегаты
    #38457451
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANA,

"а оно ж у меня с N-знает какого-года работает" ... типо такой офигенно веский, прям мегаубийственный аргумент.

у меня тоже есть такой эдакий код 7-летней давности, там в портянках листинга разобраться не хватит и двух ящиков водки.
я вот туда ни за что не полезу. но оно работает! просто магия и волшебство какое-то.

я утверждаю, что в твоей задаче делегат нафиг не сдался. не вижу объективных причин. лично я свои аргументы привёл. вместо того, чтобы оспаривать их, докажи от обратного, что не говнокод . где эти убийственные аргументы в защиту? только без порядком поднадоевшего "работает же".Смешной ты. Ты так и не понял, что я не пытаюсь тут выдумать каких-то офигенно веских и убийственных аргументов в защиту.
ТС спросил, где. Я вспомнил кусок кода. С горем пополам объяснил какую задачу он решает.
Пришёл ты с МСУ и начали кидаться фразами типа: "это говно, DI всё!". Я попросил конструктивных аргументов. Попросил рассказать о минусах и проблемах, что могут возникнуть.
Вот тут ты наконец выдал, конструктивный ответ, молодец.

А дальше опять пошёл флуд с импользованием различных эпитетов.
...
Рейтинг: 0 / 0
делегаты
    #38457452
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAпропущено...
Что такое "прибивание реализаций гвоздями к забору"? А про делегатный хаос можно поподробнее, а то я с таким ещё не сталкивался?
Много дилетантских вопросов, я в замешательстве...Дак давно известно, что дилетантские вопросы типа: "А, почему так? А почему сяк? А это что?", - обычно и ставят в замешательство. Вот и ты попался
...
Рейтинг: 0 / 0
делегаты
    #38457460
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA, слушай, ну если у тебя до сих пор непонимание отличия реализации (делегаты) от абстракции (интерфейсы), ну что я могу сделать? Как можно делать инверсию на делегатах? Это же бред чистой воды. Вот у меня и нет слов. Что тут сказать можно про этот идиотизм. Ничего личного.
...
Рейтинг: 0 / 0
делегаты
    #38457470
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, давай давай, развивай мысль. То есть ты хочешь сказать, что нарушается один из принципов SOLID, а именно: Принцип инверсии зависимостей? Каким образом?
...
Рейтинг: 0 / 0
делегаты
    #38457475
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУ, давай давай, развивай мысль. То есть ты хочешь сказать, что нарушается один из принципов SOLID, а именно: Принцип инверсии зависимостей? Каким образом?
То есть я хочу сказать, что нарушается 2 важных принципа ООП инверсии управления:
1. Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракции.
2. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

Так же еще рекомендую почитать про DI контейнер, что предоставляет программисту значительно большую гибкость в разработке и удобство в тестировании кода.
...
Рейтинг: 0 / 0
делегаты
    #38457480
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, классно ты википедию процитировал. А своими словами объяснить можешь?
...
Рейтинг: 0 / 0
делегаты
    #38457487
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

если совсем по простому - делегат не должен выполнять работу в интересах инициатора события,
его задача удовлетворить интересы подписчика.

Но каждый сам решает, стрелять себе в ногу или нет
...
Рейтинг: 0 / 0
делегаты
    #38457500
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил, не, по простому не надо. Надо чётко: не должен, потому что могут случиться вот такие-то грабли.

Какие?
...
Рейтинг: 0 / 0
делегаты
    #38457503
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУ, классно ты википедию процитировал. А своими словами объяснить можешь?
У тебя трудности восприятия? Я тебе и сам писал, и википедию цитировал, и хвост и изопропилом мозги вправлял. А тебе опять ничего не понятно. Попей пивка.
...
Рейтинг: 0 / 0
делегаты
    #38457508
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть использовать событие, вместо делегата, будет кошерно?

Вызывающий код подпишется на событие, в какой-то момент времени словит его, и на уровне вызывающего кода будет принято решение, что делать дальше: опрашивать пользователя, или вообще закрыть приложение.
...
Рейтинг: 0 / 0
делегаты
    #38457522
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAМСУ, классно ты википедию процитировал. А своими словами объяснить можешь?
У тебя трудности восприятия? Я тебе и сам писал, и википедию цитировал, и хвост и изопропилом мозги вправлял. А тебе опять ничего не понятно. Попей пивка.Ладно, понял. Своими словами у тебя будет про прибивание гвоздями. Продолжим лучше с хвостом и изопропилом. А пивка всенепременно.
...
Рейтинг: 0 / 0
делегаты
    #38457534
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЛадно, понял. Своими словами у тебя будет про прибивание гвоздями.
+ делегатный хаос, забыл что ли.

skyANAПродолжим лучше с хвостом и изопропилом.
Они тоже не резиновые.
...
Рейтинг: 0 / 0
делегаты
    #38457553
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAИзопропил, не, по простому не надо. Надо чётко: не должен, потому что могут случиться вот такие-то грабли.

Какие?
по простому, делегат не должен не рекомендуется модифицировать объект - инициализатора события, через подписку ( sender), ибо это ведет
к усложнению восприятия кода в плане сопровождения, если это происходит то нужно акцентировать этот момент в описаниях
методов или хотя бы на уровне названия методов или событий ( я думаю он это имел ввиду)
это носит рекрмендательный характер не более), в вашем случае ( я не вникал в суть топика) вполне может быть - и законно..
...
Рейтинг: 0 / 0
делегаты
    #38457572
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилесли совсем по простому - делегат не должен выполнять работу в интересах инициатора события, его задача удовлетворить интересы подписчика.

красиво сказано. я аж прослезился
реально, skyANA ну куда проще-то? может на другом языке? ))

ถ้าง่ายมาก - ผู้แทนจะต้องไม่ปฏิบัติงานในนามของผู้ริเริ่มการจัดงานงานของมันคือการตอบสนองผลประโยชน์ของผู้ใช้บริการ

काफी सरल है - प्रतिनिधि घटना के सर्जक की ओर से काम पूरा नहीं होगा, अपने काम के लिए ग्राहक के हितों को पूरा करने के लिए है.

hvis ganske simpelt - delegeret må ikke udføre arbejde på vegne af initiativtager til begivenheden, dens opgave er at tilfredsstille interesser abonnenten.



ну и то, что на делегатах не сделаешь инверсии уже достаточно хорошо сказано, потому что делегаты не являются абстракцией и, соответственно, не могут быть звеном независимой архитектуры.. тут либо банальная упёртость, либо не способность осознать элементарные вещи.

только хардкод, только ржавые гвозди!
...
Рейтинг: 0 / 0
делегаты
    #38457590
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttтолько хардкод, только ржавые гвозди!
Споём жиган скиана...

...
Рейтинг: 0 / 0
делегаты
    #38457600
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пойду напишу пару делегатов...
...
Рейтинг: 0 / 0
делегаты
    #38457601
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

...
Рейтинг: 0 / 0
делегаты
    #38457616
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, не являются абстракцией? То есть если сигнатура метода определена в интерфейсе, то это абстракиця. А если делегатом, то нет?
...
Рейтинг: 0 / 0
делегаты
    #38457625
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAhVostt, не являются абстракцией? То есть если сигнатура метода определена в интерфейсе, то это абстракиця. А если делегатом, то нет?
Помимо определения сигнатуры метода, делегату можно назначить любой метод из любого доступного класса или структуры, соответствующий сигнатуре делегата, которая состоит из типа возвращаемого значения и параметров. Это позволяет программно изменять вызовы метода, а также включать новый код в существующие классы. Это не слабосвязность, это пухлая реализация в виде гвоздей, как уже заметили. Другими словами, нужно животное, а ты пихаешь корову и сетуешь, ну корова же животное.
...
Рейтинг: 0 / 0
делегаты
    #38457634
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О какой инверсии может идти речь?

Общие сведения о делегатахДелегаты похожи на указатели функций в C++, но являются типобезопасными.
Делегаты позволяют производить передачу методов подобно обычным параметрам.
Делегаты можно использовать для задания функций обратного вызова.
Делегаты можно связывать друг с другом; например, несколько методов можно вызвать по одному событию.
Точное соответствие сигнатуры методов и делегата не является обязательным. Дополнительные сведения см. в разделе Использование вариативности в делегатах (C# и Visual Basic).
В C# версии 2.0 представлена концепция анонимных методов, которые позволяют передавать блоки кода в виде параметров вместо использования отдельно определенного метода. В C# 3.0 для краткой записи встроенных блоков кода введены лямбда-выражения. В результате компиляции как анонимных методов, так и лямбда-выражений (в определенном контексте) получаются типы делегатов. В настоящее время эти функции объединяются под одним названием — анонимные функции. Дополнительные сведения о лямбда-выражениях см. в разделе Анонимные функции (Руководство по программированию на C#).

Для инверсии подойдут только интерфейсы:

Общие интерфейсыИнтерфейс как абстрактный базовый класс. Любой класс или структура, реализующие интерфейс должны реализовать все его члены.
Невозможно создать экземпляр интерфейса напрямую. Его члены реализованы всеми классом или структурой, реализующей интерфейс.
Интерфейсы могут содержать события, индексаторы, методы и свойства в качестве членов.
Интерфейсы не содержат реализации методов.
Класс или структура может реализовывать несколько интерфейсов. Класс может наследовать базовый класс и реализовать один или несколько интерфейсов.
...
Рейтинг: 0 / 0
делегаты
    #38457639
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAhVostt, не являются абстракцией? То есть если сигнатура метода определена в интерфейсе, то это абстракиця. А если делегатом, то нет?
Помимо определения сигнатуры метода, делегату можно назначить любой метод из любого доступного класса или структуры, соответствующий сигнатуре делегата, которая состоит из типа возвращаемого значения и параметров. Это позволяет программно изменять вызовы метода, а также включать новый код в существующие классы.Вот MSDN: сигнатуры, классы, структуры.
МСУЭто не слабосвязность, это пухлая реализация в виде гвоздей, как уже заметили. Другими словами, нужно животное, а ты пихаешь корову и сетуешь, ну корова же животное.А вот МСУ: гвозди, коровы.
...
Рейтинг: 0 / 0
делегаты
    #38457642
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВот MSDN: сигнатуры, классы, структуры. А вот МСУ: гвозди, коровы.
Не туда смотришь, читай дальше:

...Это позволяет программно изменять вызовы метода, а также включать новый код в существующие классы.

Вот он корень зла.
...
Рейтинг: 0 / 0
делегаты
    #38457645
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAhVostt, не являются абстракцией? То есть если сигнатура метода определена в интерфейсе, то это абстракиця. А если делегатом, то нет?

даю хинт. класс должен реализовывать конкретный требуемый интерфейс . в случае с делегатом никаких гарантий нет.

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

ну и про внезапно подчищенную из мусора ссылку я уже говорил. неопределённое поведение — самый адовый случай, за допущение которого положено отсекать причинные конечности остренькой линейкой
...
Рейтинг: 0 / 0
делегаты
    #38457652
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA, какие еще способы знаешь?







...
Рейтинг: 0 / 0
делегаты
    #38457653
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, а например смотрим предложенный тобой код:
Код: c#
1.
2.
3.
IUserConfirmator {
   void ConfirmUserPassword();
}

В этом случае тебе понятно что ему туда подать? че ему сунуть? че он хочет вообще?
Каким образом твой интерфейс исключает то, что я его не реализую так, что лишь бы сигнатура совпадала?

Про внезапно подчищенную из мусора ссылку ты говорил. А слабо привести код, эмулирующий это?
...
Рейтинг: 0 / 0
делегаты
    #38457657
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAВот MSDN: сигнатуры, классы, структуры. А вот МСУ: гвозди, коровы.
Не туда смотришь, читай дальше:

...Это позволяет программно изменять вызовы метода, а также включать новый код в существующие классы.

Вот он корень зла.Ну давай, давай уже. Скажи в чём зло-то? Какие проблемы могут возникнуть? Сложный что-ли вопрос?
...
Рейтинг: 0 / 0
делегаты
    #38457661
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВ этом случае тебе понятно что ему туда подать? че ему сунуть? че он хочет вообще?
Каким образом твой интерфейс исключает то, что я его не реализую так, что лишь бы сигнатура совпадала?

да реализуй ты его как хочешь. важно, что класс, не реализующий этот интерфейс ты туда ну никак не сунешь. плюс резолвер легко разрулит зависимость.
...
Рейтинг: 0 / 0
делегаты
    #38457678
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНу давай, давай уже. Скажи в чём зло-то? Какие проблемы могут возникнуть? Сложный что-ли вопрос?
Какие проблемы могут возникнуть в прикладном коде с неопределенным поведением? Ну я понимаю, если бы этот вопрос мне задал сопливый второкурсник с дрожащими руками, держащие зачетку... Я тебе уже не один раз писал - делегатный хаос . Хаос - это не проблема? Какая может быть слабосвязность слоёв в хаосе, которые ты сеешь на каждом шагу? Задумайся об этом.
...
Рейтинг: 0 / 0
делегаты
    #38457680
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, хорошо. На этом и закончим. Код, эмулирующий подчищенную из мусора ссылку, можешь накидать?
...
Рейтинг: 0 / 0
делегаты
    #38457684
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA, Delegate / MulticastDelegate / ... - это всё так или иначе - реализации (классы). Коим не место в слабосвязной архитектуре.
...
Рейтинг: 0 / 0
делегаты
    #38457694
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAНу давай, давай уже. Скажи в чём зло-то? Какие проблемы могут возникнуть? Сложный что-ли вопрос?
Какие проблемы могут возникнуть в прикладном коде с неопределенным поведением? Ну я понимаю, если бы этот вопрос мне задал сопливый второкурсник с дрожащими руками, держащие зачетку... Я тебе уже не один раз писал - делегатный хаос . Хаос - это не проблема? Какая может быть слабосвязность слоёв в хаосе, которые ты сеешь на каждом шагу? Задумайся об этом.Вот любишь ты на личности переходить и флуд разводить вместо того, чтобы по существу на вопрос ответить.
Это форум, тебе сложно написать внятный ответ, чтобы и сопливый второкурсник с дрожащими руками, держащие зачетку его понял? Видимо да.
...
Рейтинг: 0 / 0
делегаты
    #38457710
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANA, Delegate / MulticastDelegate / ... - это всё так или иначе - реализации (классы). Коим не место в слабосвязной архитектуре.Дак и в случае с интерфейсом мы так или иначе ссылаемся на конкретную реализацию. Или о чём ты?
...
Рейтинг: 0 / 0
делегаты
    #38457717
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, ты же сам цитировал MSDN: "делегату можно назначить любой метод из любого доступного класса или структуры, соответствующий сигнатуре делегата".
Как это коррелирует с твоим же: "реализация, прибитая гвоздями"?
...
Рейтинг: 0 / 0
делегаты
    #38457718
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВот любишь ты на личности переходить и флуд разводить вместо того, чтобы по существу на вопрос ответить.
Когда я (и не только я) тебе раз 10 по существу уже ответил, что ж остается, как ни флудить и бросаться какашками. Это жизнь, коллега. По-другому никак :)

skyANAЭто форум, тебе сложно написать внятный ответ, чтобы и сопливый второкурсник с дрожащими руками, держащие зачетку его понял? Видимо да.
Ну написал же, википедию цитировал и разжевывал, буквари цитировал и разжевывал, на коровах примеры приводил, ... Остаётся только извлечь твой моск, инжектировать (IoC) в него понимание сути делегатов в слабосвязных системах, вкорячить обратно. Другого пути я пока не знаю. Может, кто подскажет варианты...
...
Рейтинг: 0 / 0
делегаты
    #38457721
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУskyANA, Delegate / MulticastDelegate / ... - это всё так или иначе - реализации (классы). Коим не место в слабосвязной архитектуре.Дак и в случае с интерфейсом мы так или иначе ссылаемся на конкретную реализацию. Или о чём ты?
Сдурел что-ли? В случае с интерфейсом мы ссылаемся только на абстракцию !
...
Рейтинг: 0 / 0
делегаты
    #38457724
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, не льсти себе, лично ты по существу ничего не сказал.
...
Рейтинг: 0 / 0
делегаты
    #38457732
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAпропущено...
Дак и в случае с интерфейсом мы так или иначе ссылаемся на конкретную реализацию. Или о чём ты?
Сдурел что-ли? В случае с интерфейсом мы ссылаемся только на абстракцию !Так. Походу мы о разных вещах. Пример кода приведи.
...
Рейтинг: 0 / 0
делегаты
    #38457735
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУ, ты же сам цитировал MSDN: "делегату можно назначить любой метод из любого доступного класса или структуры, соответствующий сигнатуре делегата".
Как это коррелирует с твоим же: "реализация, прибитая гвоздями"?
Самым прямым способом это коррелирует. Я же приводил пример с коровой. Мой код работает с животными, твой код работает с коровой. Если потребуется мне работать со свиньей, я без проблем инжектирую свинюшку через контейнер и у меня всё будет работать (уши, голова, хвост). Если тебе потребуется работать со свинюшкой, о твоей "новинке" узнают все подписчики объекта (asp.net, winforms, прикладной код, все на планете). Разницу улавливаешь?
P.S. Может таки тебе почитать про IoC и DI? На лицо полное непонимание сути...
...
Рейтинг: 0 / 0
делегаты
    #38457737
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУ, не льсти себе, лично ты по существу ничего не сказал.
Действительно. О том же думает и корова, которой я прочитал Есенина...
...
Рейтинг: 0 / 0
делегаты
    #38457741
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУпропущено...
Сдурел что-ли? В случае с интерфейсом мы ссылаемся только на абстракцию !Так. Походу мы о разных вещах. Пример кода приведи.
Пецдец, товарещ. Приплыли

Пример с картинками и кодом.
...
Рейтинг: 0 / 0
делегаты
    #38457744
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAМСУ, ты же сам цитировал MSDN: "делегату можно назначить любой метод из любого доступного класса или структуры, соответствующий сигнатуре делегата".
Как это коррелирует с твоим же: "реализация, прибитая гвоздями"?
Самым прямым способом это коррелирует. Я же приводил пример с коровой. Мой код работает с животными, твой код работает с коровой. Если потребуется мне работать со свиньей, я без проблем инжектирую свинюшку через контейнер и у меня всё будет работать (уши, голова, хвост). Если тебе потребуется работать со свинюшкой, о твоей "новинке" узнают все подписчики объекта (asp.net, winforms, прикладной код, все на планете). Разницу улавливаешь?
P.S. Может таки тебе почитать про IoC и DI? На лицо полное непонимание сути...Согласен. Я тебя вообще не понимаю. Я приводил пример кода. Что ты там называешь коровой?
Приведи свой пример.
...
Рейтинг: 0 / 0
делегаты
    #38457756
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAСогласен. Я тебя вообще не понимаю. Я приводил пример кода. Что ты там называешь коровой?
Приведи свой пример.
Ну вот, разрулили. Давай тогда без примеров и прочих запудриваний. Просто берешь, открываешь букварь, читаешь и вникаешь. Пробуешь на практике с ASP.NET MVC, там всё есть для работы с инверсией виде DI контейнера (честный простенький резолвер IDependencyResolver или жирная мощная фабрика IControllerFactory). Начни с первого. Когда будешь понимать, о чем тебе тут досаждают, возвращайся, продолжим спич. А пока не вижу смысла продолжать беседу. По рукам?
...
Рейтинг: 0 / 0
делегаты
    #38457757
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКод, эмулирующий подчищенную из мусора ссылку, можешь накидать?

таки нет. здесь я не прав. по крайне мере что касается контекста потока исполнения. делегат таки хранит ссылку. освежевал немного Рихтера. пережитки С++ дают о себе знать

этот пункт можно вычёркивать.
...
Рейтинг: 0 / 0
делегаты
    #38457761
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, сам перепишу свой код, спользуя магию DI:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
private IUserPasswordConfirmer confirmer;

public bool RefreshLogon(double maximumActivityDelay)
{
    if (maximumActivityDelay> currentActivityDelay)
    {
        return true;
    }

    if (confirmer.Confirm())
    {
        currentActivityDelay = 0;
        lastActivityTime = DateTime.Now;
        
        return true;
    }

    return false;
}

В момент вызова Confirm() наш инжектированный confirmer ссылается на конкретную реализацию.
...
Рейтинг: 0 / 0
делегаты
    #38457764
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

УРА
...
Рейтинг: 0 / 0
делегаты
    #38457767
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAСогласен. Я тебя вообще не понимаю. Я приводил пример кода. Что ты там называешь коровой?
Приведи свой пример.
Ну вот, разрулили. Давай тогда без примеров и прочих запудриваний. Просто берешь, открываешь букварь, читаешь и вникаешь. Пробуешь на практике с ASP.NET MVC, там всё есть для работы с инверсией виде DI контейнера (честный простенький резолвер IDependencyResolver или жирная мощная фабрика IControllerFactory). Начни с первого. Когда будешь понимать, о чем тебе тут досаждают, возвращайся, продолжим спич. А пока не вижу смысла продолжать беседу. По рукам?Повторю: не льсти себе. DI я использую с завидной регулярностью.
Но это мне никак не помогает понять тебя. Ты опять съехал на личности, вместо ответа по существу.
...
Рейтинг: 0 / 0
делегаты
    #38457768
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВ момент вызова Confirm() наш инжектированный confirmer ссылается на конкретную реализацию.
В текущий момент времени да, а через 5 минут уже может быть инжектирована другая реализация. Тем самым, твой контроллер не знает, с кем будет общаться. Он знает только о контракте.
...
Рейтинг: 0 / 0
делегаты
    #38457775
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТы опять съехал на личности, вместо ответа по существу.
...
Рейтинг: 0 / 0
делегаты
    #38457776
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAКод, эмулирующий подчищенную из мусора ссылку, можешь накидать?

таки нет. здесь я не прав. по крайне мере что касается контекста потока исполнения. делегат таки хранит ссылку. освежевал немного Рихтера. пережитки С++ дают о себе знать

этот пункт можно вычёркивать. чёрт, а я уж было хотел сам вечерком Рихтера перечитать.
...
Рейтинг: 0 / 0
делегаты
    #38457779
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУskyANAВ момент вызова Confirm() наш инжектированный confirmer ссылается на конкретную реализацию.
В текущий момент времени да, а через 5 минут уже может быть инжектирована другая реализация. Тем самым, твой контроллер не знает, с кем будет общаться. Он знает только о контракте.Так тоже самое может произойти и в случае с делегатом: через 5 минут он уже будет ссылаться на другой метод.
...
Рейтинг: 0 / 0
делегаты
    #38457782
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТак тоже самое может произойти и в случае с делегатом: через 5 минут он уже будет ссылаться на другой метод.
Тоже самое может быть и с классом. Но только какая это слабосвязность? Жжёшь
...
Рейтинг: 0 / 0
делегаты
    #38457785
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

можно вопрос?

что тебе в утверждении: делегат не должен выполнять работу в интересах инициатора события не понятно? потому что в твоём коде он именно это и делает. ты дергаешь делегат и используешь возвращённое им значение в логике. одно дело, использовать делегат для уведомления подписчиков (для чего нужно использовать event-ы, не рассусоливать на тему количества подписчиков, это не должно волновать), другое совсем — поведение. для которого существуют совершенно другие инструменты, это как раз те о которых уже который раз талдычит тебе МСУ.

микроскоп и гвозди...
...
Рейтинг: 0 / 0
делегаты
    #38457789
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче мы вообще выпали из контекста задачи. Пользователь ушёл на 15 минут, вернулся, ввёл пароль, продолжил работу. Снова отошёл, вернулся, а тут ему заинжектировали другой GUI для ввода подтверждения: консолька открылась.
Бред.
...
Рейтинг: 0 / 0
делегаты
    #38457796
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Инжектирование с помощью делегатов. Браво!
...
Рейтинг: 0 / 0
делегаты
    #38457797
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANA,

можно вопрос?

что тебе в утверждении: делегат не должен выполнять работу в интересах инициатора события не понятно? потому что в твоём коде он именно это и делает. ты дергаешь делегат и используешь возвращённое им значение в логике. одно дело, использовать делегат для уведомления подписчиков (для чего нужно использовать event-ы, не рассусоливать на тему количества подписчиков, это не должно волновать), другое совсем — поведение. для которого существуют совершенно другие инструменты, это как раз те о которых уже который раз талдычит тебе МСУ.

микроскоп и гвозди...Внимательнее будь: 15095871 и 15095904 .
...
Рейтинг: 0 / 0
делегаты
    #38457803
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУИнжектирование с помощью делегатов. Браво! Стопэ. Где я такое предлагал?
...
Рейтинг: 0 / 0
делегаты
    #38457805
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA, "что могут случиться" вообще в мемориз :) Ничего не случится, даже если писать лапшекод прямо в методах контроллера без репозиториев, инверсий и прочей гадости.
...
Рейтинг: 0 / 0
делегаты
    #38457814
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМСУИнжектирование с помощью делегатов. Браво! Стопэ. Где я такое предлагал?
...
...
Рейтинг: 0 / 0
делегаты
    #38457818
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВнимательнее будь: 15095871 и 15095904 .

я умываю руки. тебе про Фому, а ты про Ерёму.

диалог такой же бесталковый, как рассуждать на тему, а почему бы не перегружать оператор +, чтобы он работал, как -. то, что технически так можно, совершенно не означает, что так делать надо. и проблем-то вроде бы никаких нет...
...
Рейтинг: 0 / 0
делегаты
    #38457822
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Флуд, флуд, флуд
...
Рейтинг: 0 / 0
делегаты
    #38457826
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAВнимательнее будь: 15095871 и 15095904 .

я умываю руки. тебе про Фому, а ты про Ерёму.

диалог такой же бесталковый, как рассуждать на тему, а почему бы не перегружать оператор +, чтобы он работал, как -. то, что технически так можно, совершенно не означает, что так делать надо. и проблем-то вроде бы никаких нет...А что не так?
Один из способов - использовать событие, а не делегат. Разве ты не об этом?
...
Рейтинг: 0 / 0
делегаты
    #38457842
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
private IUserPasswordConfirmer confirmer;

public bool RefreshLogon(double maximumActivityDelay)
{
    if (maximumActivityDelay> currentActivityDelay)
    {
        return true;
    }

    if (confirmer.Confirm())
    {
        currentActivityDelay = 0;
        lastActivityTime = DateTime.Now;
        
        return true;
    }

    return false;
}


hVosttskyANA,

УРА
Короче, hVostt, ты за это решение, или нет?
...
Рейтинг: 0 / 0
делегаты
    #38457852
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAКод, эмулирующий подчищенную из мусора ссылку, можешь накидать?

таки нет. здесь я не прав. по крайне мере что касается контекста потока исполнения. делегат таки хранит ссылку. освежевал немного Рихтера. пережитки С++ дают о себе знать

этот пункт можно вычёркивать.
авторперед вызовом делегата, надо проверить его на null. или... а что делать если null? здравствуй здравствуй неочевидная логика! ))
бескомпромиссность этого утверждения тоже вызывает вопросы, или дописать вместо троеточия что имел автор в виду, или выкинуть эту строчку.
...
Рейтинг: 0 / 0
делегаты
    #38457864
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAОдин из способов - использовать событие, а не делегат. Разве ты не об этом?

событие и поведение вещи разные. ну да ладно, подзабей
...
Рейтинг: 0 / 0
делегаты
    #38457871
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКороче, hVostt, ты за это решение, или нет?

оф корс :)
...
Рейтинг: 0 / 0
делегаты
    #38457877
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степибескомпромиссность этого утверждения тоже вызывает вопросы, или дописать вместо троеточия что имел автор в виду, или выкинуть эту строчку.

имелось в виду, что вызывающий код зависит от делегата , от его наличия.
вменяемый программер глядя на сигнатуру класса решит, что это странно оформленное событие . но не тутта было!
...
Рейтинг: 0 / 0
делегаты
    #38457889
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
чет я не понял, событие - это событие, а делегат это - делегат
совершенно разные вещи
лично я уже давно и события и делегаты не проверяю на нуль.......
...
Рейтинг: 0 / 0
делегаты
    #38457894
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делегат - это класс (реализация). Зачем прибивать логику к делегатам, если планируется только вызывать методы (не евенты)? Что за бред? Скиана, просто твой архитектор (или кто там придумал это в 2006 году) - упоротый. А так всё хорошо, да.
...
Рейтинг: 0 / 0
делегаты
    #38457899
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиhVostt,
чет я не понял, событие - это событие, а делегат это - делегат
совершенно разные вещи
лично я уже давно и события и делегаты не проверяю на нуль.......
Он имеет ввиду то, что объявление типизированного делегата в основном используется для программирования именно событий, а не методов.
...
Рейтинг: 0 / 0
делегаты
    #38457905
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
ну пускай будет так
...
Рейтинг: 0 / 0
делегаты
    #38457913
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиМСУ, ну пускай будет так
Еще раз, речь не о том, что делегат=событие, речь о том, что "метод" скианы - очередная черезжопщина. Уж лучше просто с обычными "хардкодными" классами работать, без инверсии.
...
Рейтинг: 0 / 0
делегаты
    #38457922
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУГде-то в степиМСУ, ну пускай будет так
Еще раз, речь не о том, что делегат=событие, речь о том, что "метод" скианы - очередная черезжопщина. Уж лучше просто с обычными "хардкодными" классами работать, без инверсии.
вопрос в другом прочёл бегло топик до конца, о чем толковище, да все крутится вокруг паттерна делегирования,
вполне уместны и делегаты ( указатели на метод) так и Iнтерфейсы, с пеной у рта доказывать что это нельзя?
а в плане примера для та, вполне уместный пример, и в общем то доходчивый, если он представляет что такое указатели - а нет так
и суда нет, лет через пять въедет..
...
Рейтинг: 0 / 0
делегаты
    #38457924
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУчерезжопщина

этому термину нужен отдельный смайлек
...
Рейтинг: 0 / 0
делегаты
    #38457932
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степис пеной у рта доказывать что это нельзя?

skyANA хотел заценить конкретные проблемы этого решения. только какой смысл в этой мешанине кода? тут интерфейсы, там делегаты. может сразу все делать на делегатах изначально, и не парится вообще?
...
Рейтинг: 0 / 0
делегаты
    #38457939
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степивполне уместны и делегаты ( указатели на метод) так и Iнтерфейсы
Ну с таким же успехом я могу сказать, что и обычные классы уместны. Только слабосвязность уже идет лесом.

hVosttМСУчерезжопщина
этому термину нужен отдельный смайлек
Есть такой. Через делегаты возможна успешная слабосвязная стыковка. Только это всё-равно черезжопщина

Готовы это увидеть? Не торопитесь открывать спойлер, подумайте, надо ли оно вам...
...
Рейтинг: 0 / 0
делегаты
    #38457945
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
сама суть повествования форума, должна идти в ключе вопроса автора, ну на худой конец )) иметь информационную ценность для читающих, ибо это не чай для одного, а тут ценность была до примера скуанны, а потом поехало patati patata.
я как бы не претендую на отвлечение задач по службе, но личное время убить на чтение этого - жалко.
как говориться лучше - один выстрел - один труп..
...
Рейтинг: 0 / 0
делегаты
    #38457956
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAКороче, hVostt, ты за это решение, или нет?

оф корс :)А разве это не будет "выполнять работу в интересах инициатора события"? То есть нам надо реализовать некий интерфейс в интересах инициатора событий.
...
Рейтинг: 0 / 0
делегаты
    #38457960
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,

чтобы истину радить. надо много нафлудить )
...
Рейтинг: 0 / 0
делегаты
    #38457968
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
так я и не ругаюсь, ибо вы тут с мусей и со скайном, а кто еще может растянуть тему на пять листов? :))
...
Рейтинг: 0 / 0
делегаты
    #38457972
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,
но с другой стороны, это даже плюс, еще бы был плюс с примерами кодов - тут ничего личного - век живи век учись )
...
Рейтинг: 0 / 0
делегаты
    #38457973
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи, я их честно просил конструктивные аргументы писать, но вишь как получается:hVosttчтобы истину радить. надо много нафлудить
...
Рейтинг: 0 / 0
делегаты
    #38457977
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и код просил...
...
Рейтинг: 0 / 0
делегаты
    #38457983
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA, не жалуйся, ты то же пофлудить любишь ))
...
Рейтинг: 0 / 0
делегаты
    #38457988
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот такой вопрос, ктонить применял WebRTC в проектах?
...
Рейтинг: 0 / 0
делегаты
    #38457997
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА разве это не будет "выполнять работу в интересах инициатора события"? То есть нам надо реализовать некий интерфейс в интересах инициатора событий.

совсем другой случай. есть чёткий контракт, в реализации которого нуждается класс. и есть реализация этого контракта, которая разруливается через DI. такой класс не стыдно и в юнит-тесты полажить.
...
Рейтинг: 0 / 0
делегаты
    #38458002
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степикак говориться лучше - один выстрел - один труп..
Тогда форум превратится в сухостой и будет скучным, много мемберов просто задвинут форум. А так - всегда свежая кровь и толстые дискусии. Это же хорошо.
...
Рейтинг: 0 / 0
делегаты
    #38458006
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиа вот такой вопрос, ктонить применял WebRTC в проектах?

предлагаешь через xsocket его применить? или что-то еще есть? незнай. флеш пока еще не изжил себя... и даже саботаж со стороны эпл не особо помог.
...
Рейтинг: 0 / 0
делегаты
    #38458016
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAА разве это не будет "выполнять работу в интересах инициатора события"? То есть нам надо реализовать некий интерфейс в интересах инициатора событий.

совсем другой случай. есть чёткий контракт, в реализации которого нуждается класс. и есть реализация этого контракта, которая разруливается через DI. такой класс не стыдно и в юнит-тесты полажить.ИМХО это теже яйца, только в профиль.
Есть чёткий контракт, который надо реализовать в интересах инициатора события.
...
Рейтинг: 0 / 0
делегаты
    #38458022
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
как бы я давно веду эту тему, пол года назад делал общеобразовательный класс для виртуальной школы.
но вот месяц он как уже лег, ничего не придумал лучше, чем плодить свой код - оформил через xsocket ( в надежде что будут поддерживать клиентскую сторону) хотя реализаций дофига уже. вроде ничего пока в тестах
...
Рейтинг: 0 / 0
делегаты
    #38458027
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAИМХО это теже яйца, только в профиль.
Есть чёткий контракт, который надо реализовать в интересах инициатора события.

ну да, с определённой точки зрения, памятник Пушкину — это большая каменная жопа
...
Рейтинг: 0 / 0
делегаты
    #38458034
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степикак бы я давно веду эту тему, пол года назад делал общеобразовательный класс для виртуальной школы.
но вот месяц он как уже лег, ничего не придумал лучше, чем плодить свой код - оформил через xsocket ( в надежде что будут поддерживать клиентскую сторону) хотя реализаций дофига уже. вроде ничего пока в тестах

может и МС подтянется. надо тож затестить. я пока дальше examples не копал.
...
Рейтинг: 0 / 0
делегаты
    #38458041
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAИМХО это теже яйца, только в профиль.
Есть чёткий контракт, который надо реализовать в интересах инициатора события.

ну да, с определённой точки зрения, памятник Пушкину — это большая каменная жопаНу да, по мнению Изопропила оба варианта - это каменная жопа.
...
Рейтинг: 0 / 0
делегаты
    #38458043
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
ой беда с этим ослом, в натуре упрямы, один не оптимизированный скелет http://metadll-com.1gb.ru модератор, пож, удали ссылку через почаса , пож..
...
Рейтинг: 0 / 0
делегаты
    #38458063
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAИМХО это теже яйца, только в профиль.
Есть чёткий контракт, который надо реализовать в интересах инициатора события.
"Контракт" есть и у обычного класса, только помимо контракта у него есть (может быть) реализация. У интерфейса реализация невозможна в силу своей природы. Это не слабосвязность, а толстосвязность.
...
Рейтинг: 0 / 0
делегаты
    #38458101
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиhVostt,
ой беда с этим ослом, в натуре упрямы, один не оптимизированный скелет http://metadll-com.1gb.ru модератор, пож, удали ссылку через почаса , пож..

мне кажется рано его напрямую в .net использовать без вменяемой поддержки.
проще написать морду на asp.net, а бекенд для webrtc использовать достигший зрелости https://npmjs.org/package/webrtc.io
...
Рейтинг: 0 / 0
делегаты
    #38458113
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
так и надеюсь, что поддержка будет, там по существу браузерные обновления шумят, а клиент примитивный, можно и нативно оформить, разницы нет net не нет, морда скрипиы отрабатывает, а сервер где целоваться точки будут можно и гугловский
прикрепить ( шарпа ни одной строчки кода)
...
Рейтинг: 0 / 0
делегаты
    #38458125
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там у xsocket, серверный код, это сервер прослушки для рукопожатий браузеров, нативно можно гугловский оформить,
тем более он через сокеты дышит, по этому при слабой загрузке на виртуале сервер приходиться взбадривать.
еще один момент проброс по порту прослушки изначально не шел на сервере ((.. но опять плюс могу там фильтровать
что бы чужие не залезли в чат..
...
Рейтинг: 0 / 0
делегаты
    #38458134
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если кто будет пробовать - xsocket сервер по дефолту настроен на внутреннею петлю, и 4502 порт.
там если хостить в реале нужен контроль за созданием сервера - это надо залезти в доки, или спросить тут, к стати
это пересекается с темой флуда , - делегирование полномочий при создании сервера прослушки - на интерфейсах..
...
Рейтинг: 0 / 0
152 сообщений из 152, показаны все 7 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / делегаты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]