@CSharpChatЭта группа больше не существует

Страница 683 из 1888
Roman
03.04.2017
12:25:07
Просто из Китая в штаты пересылать столько - дифига много ждать юзеру окончания операции.

Типа если питон скушает файлик целиком, потом его .NET,у на другом конце планеты перебросит.

Вот и думаем как решить эту задачу

Андрей
03.04.2017
12:28:43
https://github.com/petrovich/petrovich-net
Огромное спасибо

Google
A
03.04.2017
12:49:06
Типа если питон скушает файлик целиком, потом его .NET,у на другом конце планеты перебросит.
Мне кажется правильнее заюзать какой нибудь BLOB storage и натравить сервисы на него, а не стримами пуляться

Roman
03.04.2017
12:50:27
Мне кажется правильнее заюзать какой нибудь BLOB storage и натравить сервисы на него, а не стримами пуляться
Там просто несколько сервисов уже через Protobuf работают, поэтому такая идея в голову пришла. За идею спасибо!

Vladimir Bondaryuk
03.04.2017
12:58:59
парни, а кто-нибудь может что-нибудь сказать о такой конторе как: http://www.onesystems.ru/

Ilya
03.04.2017
13:03:11
Средний возраст 28 лет, средний опыт работы 7 лет. Магия чисел

Alexander
03.04.2017
13:14:34
Что насчет "белой" зп?

Михаил
03.04.2017
13:33:46
https://meduza.io/live/2017/04/03/vzryv-v-peterburgskom-metro-hronika

Max
03.04.2017
13:36:51
нихера

Bornsof
03.04.2017
13:37:47
Жестко тут у нас( всем автобусам дано указание бесплатно всех возить сегодня

Ilya
03.04.2017
13:40:20
а ты не в курсе что на невском со стороны восстания?

я планирую свой путь до дома

Ilya
03.04.2017
13:43:44
Cервис автоперевозок Uber сделал бесплатными поездки из района происшествия в Санкт-Петербурге до конца дня. Подробнее на РБК: http://www.rbc.ru/textonlines/03/04/2017/58e238789a7947f42e875f91?from=newsfeed

yegorf1
03.04.2017
13:43:50
а правда что *все* метро перекрыли?

Google
yegorf1
03.04.2017
13:44:01
и пулково

Владимир
03.04.2017
13:44:24
аэропорт вроде нет, просто усиленный контроль

метро да

yegorf1
03.04.2017
13:44:42
http://mignews.com/news/disasters/030417_161245_15379.html

Ilya
03.04.2017
13:44:50
В Пулково нет метро

Ilya
03.04.2017
13:45:23
метро перекрыли. Вроде таксовичкоф тоже бесплатно возит

Владимир
03.04.2017
13:46:26
ну как возит



Oleg
03.04.2017
13:47:34
Так. Ребят. По ссылке группа для взаимопомщи. Постарайтесь не выходить из дома и воздержаться от поездок на любом ОТ. Автомобилитсты - скидывайте кто куда едет, будет подбирать пеших https://t.me/joinchat/AAAAAEKocTd0Ox6NDaMmig

Bornsof
03.04.2017
13:47:57
В связи с появлением информации в СМИ о закрытии аэропорта Пулково пресс-служба Пулково сообщает, что данная информация не соответствует действительности. Аэропорт Пулково открыт. Самолеты принимаются и отправляются по расписанию. В аэропорту усилен входной и предполётный досмотр. Пресс-служба Пулково.

таксовичек, убер, часть машин везета бесплатно катают

Andrey
03.04.2017
14:01:01
Щас будет наверное вопрос немного странный. Кто-нибудь работал с табло информационными?)

Максим
03.04.2017
14:17:56
Ребят, подскажите по ООП есть базовый класс Mail, от него наледуют OrderMail, PriceingsMail и т.д. как мне при получении писем из ящика обойтись без использования switch..case? я хочу чтобы можно было легко добавлять новые типы писем, не трогая код, который их перебирает

какой паттерн для этого использовать?

Илья
03.04.2017
14:19:02
почитайте про стратегию

A
03.04.2017
14:19:48
все верно, стратегия в помощь

Максим
03.04.2017
14:23:03
ок. спасибо.

Friedrich
03.04.2017
14:24:54
Ребят, подскажите по ООП есть базовый класс Mail, от него наледуют OrderMail, PriceingsMail и т.д. как мне при получении писем из ящика обойтись без использования switch..case? я хочу чтобы можно было легко добавлять новые типы писем, не трогая код, который их перебирает
В общем случае тут никаких паттернов не нужно, а достаточно просто грамотно размещённых виртуальных и абстрактных методов. Ну, впрочем, в классе Mail я бы не ожидал увидеть какую-то развесистую бизнес-логику, так что, наверное, тут стратегия больше подойдёт.

Максим
03.04.2017
14:31:09
походу тут нужно что то еще. я ведь хочу создавать тот производный тип Mail, который соответствует определенной теме письма в ящике. т.е. если письмо "заказ" - создаем объект класса OrderMail, если письмо с ценами - PriceMaile, как это реализовать?

Friedrich
03.04.2017
14:32:15
Фабрику какую-то нужно.

Google
anton
03.04.2017
14:34:54
@fvnever не верю что ты не в теме :(

Friedrich
03.04.2017
14:35:40
@fvnever не верю что ты не в теме :(
Напрасно. Эти названия мне незнакомы, увы.

anton
03.04.2017
14:37:07
эх.. ну ладно. тогда пойду набивать шишки ;)

Максим
03.04.2017
14:51:08
а как создать объект имея строковую переменную и именем класса?

типа Class("Mail").Create()

Gid
03.04.2017
14:58:24
Конструктор сделай

tm
03.04.2017
15:00:57
Твоя цель - иметь метод Mail.Create(string theme)?

Вариант 1: через словарь, как я предложил сверху

tm
03.04.2017
15:02:05
Вариант 2: сделать Mail с пустым конструктором. В словаре указывать в качестве значения тип. Далее - либо через дженерики new T(), либо через Activator.CreateInstance(type) создавать экземпляры

На худой конец, если тебе лень - можно использовать в теле Mail.Create тот самый свитч

И, самый крутой метод

Сделать сканер типов, который будет искать в проекте типы-наследники Mail, с аттрибутом MailHandler(string type). на основание этой рефлекшн информации - создаёшь словарь (о котором говорили выше) и получаешь чудо фабрику

Scanner. CreateFactoryForExecutingAssembly().CreateFor(string theme) -)

Максим
03.04.2017
15:05:25
хочу такую чудо фабрику ))) спасибо

но начать лучше со словаря

tm
03.04.2017
15:06:08
времени может много занять, но решение в итоге красиво

Google
Максим
03.04.2017
15:07:16
прям как в тру фреймворках ))) бутстрап классов.

tm
03.04.2017
15:09:35
у нас в солюшене используется в 12 местах такого рода сканеры

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

Окупается если подобного рода модулей и поведений у тебя набирается несколько сот штук

Alexander
03.04.2017
15:12:03
DI?

tm
03.04.2017
15:12:29
Ты имеешь ввиду Ioc ?

Admin
ERROR: S client not available

tm
03.04.2017
15:13:57
То что написал выше, конечно является реализацией принципа DI и слабосвязанности, но в итоге просто удобно -)

Alexander
03.04.2017
15:14:33
Friedrich
03.04.2017
15:15:41
Сделать сканер типов, который будет искать в проекте типы-наследники Mail, с аттрибутом MailHandler(string type). на основание этой рефлекшн информации - создаёшь словарь (о котором говорили выше) и получаешь чудо фабрику
Мы делаем нечто похожее, но без рукопашных сканеров типов. Autofac умеет по запросу отдавать список всех реализаторов определённого интерфейса, вот мы этот механизм юзаем.

Максим
03.04.2017
15:17:23
ок. к инъекциям мы еще придем. как быстрее сделать словарем? Dict<string, Func<Mail>> dict

dict.Add("orders", () => { return new OrderMAil;} ?

tm
03.04.2017
15:17:50
Мы делаем нечто похожее, но без рукопашных сканеров типов. Autofac умеет по запросу отдавать список всех реализаторов определённого интерфейса, вот мы этот механизм юзаем.
Когда делали сканер (3 года назад), не видели ещё этого. + всё равно разбирать по аттрибутам некоторую доп информацию, например туже стрингу

dict.Add("orders", () => { return new OrderMAil;} ?
Да, это самый простой способ.

Есть ещё симпатичнее - dic<string, type>.

{ return Activator.CreateInstance(dict[key]) as Mail;}

Максим
03.04.2017
15:18:54
и что с этим type делать?

Ilya
03.04.2017
15:18:56
а как выбирается тип, в зависимости от чего?

Максим
03.04.2017
15:18:59
а

Google
tm
03.04.2017
15:19:31
и что с этим type делать?
dict.Add("orders", typeof(OrderMail));

либо сделай метод Factory.Add<T> -> Myfactory.Add<OrderMail?"orders");. Но это уже косметика. Сути не меняет

Ilya
03.04.2017
15:20:34
тогда забей на всё и сделай статический метод TryCreate в каждой конкретной реализации и в фабрике вызывай все TryCreate по очереди, кто первый вернул экземпляр - тот и молодец

Alexander
03.04.2017
15:21:34
Словарь + паттерн одиночка

Ilya
03.04.2017
15:21:40
код будет линейный, логика выбора будет спрятана в классе, который создаётся

всё равно нужна сложная логика выбора типа и простым словарём не отдлеаться

а когда будет достаточно типов писем, можно что то другое использовать

tm
03.04.2017
15:22:39
код будет линейный, логика выбора будет спрятана в классе, который создаётся
Логика будет размазана в два места - первое это регистрация типа в фабрике, второе, условие выбора в классе. + нарушение SingleResponsibility

Ilya
03.04.2017
15:22:47
но в данный момент - это лучший выбор

зачем всё это? челоек ещё не написал кучу кода

Максим
03.04.2017
15:23:20
но в данный момент - это лучший выбор
а как потом это расширять? если типов писем станет 20?

Ilya
03.04.2017
15:23:23
нахрена всё это тащить?

когда типов станет 20 и правила создания поменяются 20 раз, вот тогда и надо думать

в данный момент, когда у тебя 2 типа - чем проще тем лучше

tm
03.04.2017
15:24:04
зачем всё это? челоек ещё не написал кучу кода
ты всё равно реализуешь всё это. Только не в фабрике, а частично в фабрике, частично в классе

Страница 683 из 1888

Эта группа больше не существует Эта группа больше не существует