Size: a a a

Software Design/Architecture/Zen

2021 May 04

D

Dezmunt in Software Design/Architecture/Zen
Подскажите про контракты, что под ними понимают (контракты в программировании)
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Где так делают?
источник

DP

Dimitry Polonskiy in Software Design/Architecture/Zen
источник

RL

Romka Los in Software Design/Architecture/Zen
Здесь - для ленивой инициализации конекшена.
источник

SZ

Sergey Zolotov in Software Design/Architecture/Zen
это вопрос к автору этого кода. и почему один коннект синглтоном делается
источник

SZ

Sergey Zolotov in Software Design/Architecture/Zen
и почему не делали пул коннектов
источник

DP

Dimitry Polonskiy in Software Design/Architecture/Zen
Есть примеры реализации ?
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Описание того, как должен выглядеть и вести себя код. В программировании это обычно делают написанием интерфейса.
источник

DP

Dimitry Polonskiy in Software Design/Architecture/Zen
Также благодарю за  пояснение.
Можно ли сюда добавить, что это сокрытие деталей реализации?
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Не особо
источник

SZ

Sergey Zolotov in Software Design/Architecture/Zen
источник

DP

Dimitry Polonskiy in Software Design/Architecture/Zen
Почему?
источник

D

Dezmunt in Software Design/Architecture/Zen
Спс
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Сокрытия деталей больше в классе SqlConnection. А в этой фабрике пока деталей мало.
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
Фабрика обычно скрывает только детали создания объекта.
источник

DP

Dimitry Polonskiy in Software Design/Architecture/Zen
+
Очепятался выше)))
источник

DE

Dmitry Eliseev in Software Design/Architecture/Zen
В этом классе фабрикой является только метод CreateNewConnection.

Методы GetOpenConnection и Dispose уже фабрикой не являются.

А метод GetConnectionString вообще лишний, так как приводит к утечке этой детали.
источник

i

invariance in Software Design/Architecture/Zen
Всем привет.
> есть в БД большая сущность с кучей nullable полей, которые заполняются постепенно
> соответственно есть логика с записью и чтением этих полей. Какая-то логика, как правило, не может работать с нулабл полями и такие кейсы надо валидировать
> есть 3 разных клиента, которые работают с этой логикой и везде разные требования, как эту сущность заполнять и читать. Соответственно, разные правила валидации, какие поля должны быть заполнены, а какие нет

Во время эротишных утех с кодом, где надо кучу валидаций на null ptr фигачить у меня возник вопрос - а должна ли возникать такая ситуация? Может есть какие-то подходы, как правильно такое дизайнить?
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
по описанию впечатление, что должна быть возможность разделить одну сущность с кучей nullable полей на N сущностей с not nullable полями
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
как к этому можно придти:
1. сгруппировать поля по тому, когда они заполняются
2. сгруппировать поля по тому, когда они вместе юзаются(например для каждого из клиентов) - я так понимаю это для выгрузки в какие-то системы клиентов
3. сгруппировать поля по тому, когда они вместе влияют на логику, грубо говоря когда они вместе попадают во всякие условия вместе
источник