|
Нельзя описывать методы с одинаковыми сигнатурами.
|
|||
---|---|---|---|
#18+
ProBiotekИзопропилнаглядное пособие - как раздуть из мухи слона -) Форума то проста.Вопрос задан таков, что позволяет широкий выбор правильного ответа. Появилось несколько вариантов, и, классически, началось обсуждение чужих решений. В принципе, я и хотел узнать разные варианты, выбрал один из них.Дак напишите какой и почему. А то через год придёт подобный Вам персонаж и начнёт заного раздувать. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 19:45 |
|
Нельзя описывать методы с одинаковыми сигнатурами.
|
|||
---|---|---|---|
#18+
skyANAДак напишите какой и почему. А то через год придёт подобный Вам персонаж и начнёт заного раздувать. ProBiotekЯ больше всего склоняюсь к решению bazile Код: c# 1. 2. 3.
В целом наглядно. Желающие могут указывать как все опциональные параметры, так и часть. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2015, 19:54 |
|
Нельзя описывать методы с одинаковыми сигнатурами.
|
|||
---|---|---|---|
#18+
skyANAСлушай, давай я заменю Criteria на Command, или Action, или Predicat :) Оформишь как лямда-билдер? Тогда ок! skyANAКакая ещё семантика у тебя теряется? Мы задачи не знаем. Семантика вызова функции. Функция требует объект. Где взять этот объект? Простой вопрос. skyANAК примеру в CQRS есть Commands и есть Queries... И никакая семантика там не теряется, а код прикладнее некуда :) Речь идёт о вызове функции из прикладного кода. Сравни: void SendMessage(string message); void SendMessage(Message message); в первом случае всё понятно, во втором, я должен знать чо такое Message, откуда его взять, и как его получить. вместо второго варианта уж лучше выглядит Message.Send(); ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2015, 01:29 |
|
Нельзя описывать методы с одинаковыми сигнатурами.
|
|||
---|---|---|---|
#18+
hVosttСравни: void SendMessage(string message); void SendMessage(Message message); в первом случае всё понятно, во втором, я должен знать чо такое Message, откуда его взять, и как его получить. жмакаешь на Goto Implementation, а там Код: c# 1. 2. 3. 4. 5. 6.
вместо второго варианта уж лучше выглядит Message.Send(); Осталось только в Message сделать инжект сервиса отправки ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2015, 05:33 |
|
Нельзя описывать методы с одинаковыми сигнатурами.
|
|||
---|---|---|---|
#18+
hVosttРечь идёт о вызове функции из прикладного кода. Сравни: void SendMessage(string message); void SendMessage(Message message); в первом случае всё понятно, во втором, я должен знать чо такое Message, откуда его взять, и как его получить. вместо второго варианта уж лучше выглядит Message.Send();Случай "у одной ляльки семь нянек" ты не рассматриваешь? В очередной раз убил своей категоричностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2015, 08:03 |
|
Нельзя описывать методы с одинаковыми сигнатурами.
|
|||
---|---|---|---|
#18+
PallarisОсталось только в Message сделать инжект сервиса отправкиОсобенно если Message создаётся каким-нибудь ормом вроде EF - как будем инжектировать? :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2015, 08:05 |
|
Нельзя описывать методы с одинаковыми сигнатурами.
|
|||
---|---|---|---|
#18+
Алексей КОсобенно если Message создаётся каким-нибудь ормом вроде EF - как будем инжектировать? :-) Для этого нужно Message перегнать в MessageDTO, там все заинжектить, потом спокойно и прозрачно для всех делать MessageDTO.Send(), где сразу видно, что, как, зачем и почему. Уж лучше, чем этот ваш Send(Message message)!!!! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2015, 08:11 |
|
Нельзя описывать методы с одинаковыми сигнатурами.
|
|||
---|---|---|---|
#18+
PallarisАлексей КОсобенно если Message создаётся каким-нибудь ормом вроде EF - как будем инжектировать? :-) Для этого нужно Message перегнать в MessageDTO, там все заинжектить, потом спокойно и прозрачно для всех делать MessageDTO.Send(), где сразу видно, что, как, зачем и почему. Уж лучше, чем этот ваш Send(Message message)!!!! :)Уж лучше разделить логику и хранение данных, чем эти ваши DTO. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2015, 08:14 |
|
Нельзя описывать методы с одинаковыми сигнатурами.
|
|||
---|---|---|---|
#18+
hVosttskyANAСлушай, давай я заменю Criteria на Command, или Action, или Predicat :) Оформишь как лямда-билдер? Тогда ок!Дык уже... hVosttРечь идёт о вызове функции из прикладного кода. Сравни: void SendMessage(string message); void SendMessage(Message message); в первом случае всё понятно, во втором, я должен знать чо такое Message, откуда его взять, и как его получить.В первом случае вообще ни фига не понятно: ни что за сообщение (e-mail, sms, push-уведомление, собщение в Slack, чат), ни куда оно отсылается (адрес электронной почты, номер телефона, токен, группа в Slack, комната в чате). Тупо какой-то текст. Во втором случае ты видишь объект и предполагаешь очевидное, что он содержит всю необходимую информацию о том, куда будет послано сообщение. Вообще должно быть так: Код: c# 1.
и Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2015, 14:46 |
|
|
start [/forum/topic.php?fid=20&msg=39065744&tid=1401176]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 335ms |
total: | 462ms |
0 / 0 |