Обновить
10
0

Full-stack web developer.

Отправить сообщение

Мне кажется, дело тут не столько в универсальности.
Я, наверное, уже это писал где-то в комментах, но повторюсь.
У нас есть два, скажем так, вида бизнес логики "для данных".


  • Первый вид — это ограничения данных, доступных этому клиенту (здесь клиент и как пользователь, и как сценарий бизнес операции). Например, если у нас сервис для витрины веб-магазина, и репозиторий товара, то мы ни в каком виде не должны иметь доступа к неактивным товарам.
    Для этих случаев, я считаю, лучше иметь метод в репозитории, который точно не позволит забыть экстеншн метод.


  • Второй вид — это разнообразные методы для удобства. Это тоже бизнес логика, но она применяется ad-hoc. Это как бы сокращенные записи типовых выборок данных, для них методы расширения — отличное решение.

Распределенные транзакции — это которые через MSDTS? Я думаю, сервер транзакций явно начинает и завершает (или откатывает, в случае неудачи одной из транзакций) транзакции для каждого соединения.

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

А чёй-то, и правда, сайт заблокирован на территории тра-та-та, а в поисковой выдаче есть. Миизулииинааа.

Мне ничего не остается, только согласиться с вами :) Спасибо за идею, выглядит прекрасно.


Но, все-таки есть сценарии, когда я бы использовал методы репозитория:


  • Фильтрация для текущего пользователя(хотя можно передавать user id)
  • Методы, потенциально могущие переехать в базу (для оптимизации)
  • Ну и, опять же, я предпочитаю не давать доступ к "сырой" (нефильтрованной) выборке из таблицы, чаще всего есть непересекающиеся наборы данных (только активные, только доступные для редактирования и т.д.). Это надежнее метода расширения, который можно забыть, и попортить данные.
У бизнес-методов в репозитории, как уже сказано выше, есть фундаментальная проблема: либо их очень много (фактически, по одному на каждый сценарий, которых много), либо они неэффективны (например, классический GetAllCustomers).

Если этих методов много, то их будет много при любом способе реализации, будь то ad-hoc LINQ-запросы, методы расширения, или специализированные методы в репозитории. Вопрос в том, как удобнее сделать с точки зрения разработки и сопровождения.
На мой взгляд, методы в репозитории самые удобные — у них четкий контракт, их легко найти, они могут инкапсулировать сложную логику или разные способы доступа к данным.

Кого волнуют false positive срабатывания? Посидите пару лет, ничего страшного, рукавиц много не бывает.
Во-первых, отдают не содержимое таблицы, а интерфейс, позволяющий прочитать сущности (или проекции) по заданному выражению.

Вопрос в том, позволяет ли этот интерфейс получить данные, которые не нужны в данном сценарии.


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

Это понятно, есть больше одного способа инкапсуляции повторно-используемого кода. Но extension методы еще нужно не забыть вызвать, особенно если их несколько, а при добавлении нового нужно не забыть добавить вызов во всех местах. То есть это лучше, чем ручная фильтрация через Where в бизнес методах, но все еще хуже бизнес методов в репозитории.

Использовать-то его можно, но вот для чего?
Я вижу два применения:


  • ad-hoc обработка данных на стороне источника (базы) как в бизнес логике, так и для выборки данных пользователем. Это нормально, клиент не может получить доступ к неподходящим данному сценарию данным.
  • Применение бизнес-логики к "сырому" источнику данных — когда отдают полностью содержимое таблицы, и потребитель должен сам отфильтровать и выбрать данные, подходящие под сценарий, и так в каждом бизнес методе. А вот это уже плохо, хотя и позволяет, на первый взгляд, избежать "взрыва" количества методов репозитория. На самом деле, бизнес логика "на данных" никуда не денется, она все равно будет присутствовать, и в еще большем количестве.
Интересно, сколько электричества понадобится для обработки (распознания и индексирования) всего трафика?
И какие технически реалистичные задержки поиска по такому массиву данных?
Знаете, наверное, невозможно искоренить полностью то, о чем вы говорите. На любое действие найдется противодействие, что один человек создал, другой сможет обойти. Борьба с преступностью — это всегда компромисс усилий и результата. В данном случае соотношение настолько мизерное, что просто очевидно, что никакой заботой о гражданах тут и не пахнет.
Ваша ошибка в том, что -чуки и -овичи рулят везде. Человек, имеющий реальную власть, никогда в политику лично не пойдет, ибо народ прямолинеен и виноватым считает того, кого показывают по тв. Поэтому несменяемость в России не означает, что дядя с портрета рулит лично.
Боже, весь совок в одном посте.
В Америке негров линчуют, какое «не кидай мусор из окна»?
Государство тебя поимело? Кинуло? Ну так ты тупой просто, меня вот нет. Хаха, учись крутиться, лошок.
Ну, Северную Корею в масштабах Северной Кореи терпят же. Тут тонкость в том, что северная корея как политический строй — это продукт для внутреннего потребления, не для экспорта. Поэтому будут терпеть, и не надйтесь. Даже каннибалов Африки некоторые обласкивали.
В Украине нет датацентров, чтобы хранить весь телекоммуникационный траффик за три года. Если и пишут, то выборочно в рамках оперативно-разыскных мероприятий, либо в чьих-то интересах за солидный куш.

Это печально и незаконно, но, видимо, неизбежно и повсеместно. Однако, это и в сравнение не идет с тем, что будет при реализации закона Яровой.
>> Россия — пока ещё свободная страна, хоть и с ограничениями.
Скажите, что еще нужно сделать, какой еще закон принять, чтобы кто-нибудь сказал: «Да, вот теперь Россия не свободная страна»?
>> Давайте определимся что в любом предметном разговоре должен быть использован научный подход, иначе это разговор уровня базарных баб.

Окей, научный подход.

>> Так же мы можем взять данные о количестве заключенных на 100т. человек, это не мои данные, это данные ICPS(institute of criminal research, Birkbeck, University of London 42 Store Street), факты гласят: США — 698 человек, Россия — 463 человек.

О чем нам, вооруженным научным подходом, говорят эти цифры? Очевидно, о количестве раскрытых преступлений.

Значит ли, что в США совершается больше преступлений? Казалось бы, да. Однако, что нужно, чтобы к статистике добавился один заключенный?
* Преступление должно быть совершено
* О преступлении должно быть заявлено в полицию
* Полиция должна раскрыть преступление
* Суд должен вынести обвинительный приговор и приговорить обвиняемого к заключению

Говорят ли нам сами цифры 463 vs 698 о том, в чем же США обходит Россию?
Говорит ли нам научный метод, что в США совершается больше преступлений? Нет.
Здравый смысл подсказывает, в России (и в Украине, и прочем постсовке)

* Ниже процент обращений в милицию — просто нет смысла по «мелочи» типа украденного кошелька, телефона, попыток взлома туда обращаться
* Ниже процент зарегистрированных обращений — даже если ты позвонил, но сержант на телефоне смог отбрехаться — все, не было преступления
* Ниже процент раскрываемости — об этом и говорить не хочется

Эти цифры ничего нам не говорят о варварстве США, как бы квасным патриотам этого бы не хотелось. Наоборот, эти цифры говорят о том, что правоохранительная система США более эффективна.

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

* Структура преступлений. Если в США за вождение под рюмашкой сажают на месяц, а в России — штраф, — в США больше заключенных.
* Разные сроки по одинаковым преступлениям.
* Структура заключенных по видам преступлений (образно, в одной стране сидят большинство за неуплату налогов, в другой — за гоп-стоп со стволом).
* и так далее

Для иллюстрации давайте посмотрим статистику (преступления на 1000 человек): http://www.nationmaster.com/country-info/stats/Crime/Total-crimes-per-1000

На первом месте… Исландия. Почему? Потому что нормальные страны а) не боятся портить статистику и честно записывают в количество преступлений количество обращений в полицию и б) граждане там не боятся и не считают бесполезным вызывать полицию, и сообщать о преступлениях.
Об этом же нам говорит и замечание над таблицей по ссылке.

То есть, уважаемый Rezzet, то, что вы называете научным методом, не более чем пропаганда, вызванная неверной (надеюсь, неумышленно) интерпретацией данных. Но попытка хорошая.

>> То есть в России в полтора раза меньше заключенных (в процентном соотношение конечно же) чем в США, но при этом Россия полицейское государство.
«и рассказы об опыте судов»

Еще раз:
* Количество заключенных зависит не столько от количества преступлений, сколько от эффективности работы правоохранительной системы
* Полицейское государство — это не про то, когда осуждают преступника. Это про то, что преступником может оказаться каждый.
> Более того в вашем профиле написано что вы из Украины, как ваш жизненный опыт может вам хоть что-то говорить про дела в двух других государствах?

Именно так. Или вы утверждаете, что в России до 2104 года судебная и исполнительная система кардинально от Украины отличались?

Понимаете, я не приведу вам ссылки на рецензируемые журналы, но вы считаете, что в США возможна ситуация, когда соседу пытались выломать дверь (и выломали первую), а милиция отказалась даже приехать, потому что «все равно никого мы не найдем»? Или, может быть, когда у меня пытались взломать машину, в милиции не то что не сняли отпечатки (хотя я мог отвести и показать группу мудаков, которые это сделали), а еще и начали вымогать у меня деньги? Может быть в Европе люди боятся вызывать полицию?

Я понимаю, что формально я вам ничего не докажу, я понимаю, что всегда можно уйти в отрицание, можно показывать цифры, и т.п., но это будет отрицание очевидного факта, что постсоветская силовая система — это инструмент угнетения и покарания, а не помощи гражданам.
Цифр у меня нет, сдаюсь. Да и толку, вы все равно скажете, что это пиндосская пропаганда, в докладе таком-то сказано.
Но у меня есть опыт общения с милицией, и рассказы об опыте судов. Я не верю, что в Америке то же самое. Просто не верю. И никакая пропаганда, даже крутая настолько, что побеждает американскую, меня в обратном не убедит.
Террористов и педофилов теперь. Многие из них смотрели хентай.

Информация

В рейтинге
Не участвует
Откуда
Украина
Дата рождения
Зарегистрирован
Активность