-
Notifications
You must be signed in to change notification settings - Fork 303
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Шмаков Данил #192
base: master
Are you sure you want to change the base?
Шмаков Данил #192
Conversation
); | ||
} | ||
|
||
public static SpiralCloudShaper Create(Point center, double coefficient = 0.1, double deltaAngle = 0.1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Немного контекста о том, когда и как обычно создаются такие методы:
- Модели - простые контейнеры для свойств. В твоем случае класс
Options
, где ты как раз и применил этот подход со статическим созданием. Из общих примеров можно взять FluentResults - там результат можно создавать какResult.Fail()
иResult.Ok()
(за точность методов не ручаюсь, просто показываю подход) - Билдеры сложных моделей -
Builder.Build()
- обычный паттерн строитель, когда тебе нужно собрать сложную модель - Фабрики моделей и зависимостей - паттерн фабрики (в разных вариациях) - обычно используется как раз для создания зависимостей для отдачи в контейнере
На основе всего, что написал выше - нам подходит последний пункт, так как SpiralCloudShaper
- это не модель, а полноценная зависимость (модуль), и он не должен уметь хранить внутри себя ещё и логику собственного создания, для этого нужно отдельное место
No description provided.