|
Repository & Service
|
|||
---|---|---|---|
#18+
Алексей КskyANAИМХО многое зависит от бизнеса. В РЖД болото, бизнес дорос до своего потолка и Алексей не видит причин заморачиваться над чем-то. А у кого-то стартап и цель за 5 лет выйти на аудиторию в несколько миллионов. Ясен пень тут задумаешься над архитектурой и всем выше перечисленным.Таки не нужно сравнивать суровую бизнес-аналитику и миллионы запросов со сложностью, сопоставимой с поиском в хэш-таблице - в обоих случаях свои сложности и тонкие места. skyANAпропущено... :) Алексей, когда предполагается нагрузка в 100 запросов в секунду, а через год в три раза больше, а через 3 года в десять, то надо изначально проектировать, а не потом.Но какое это имеет отношение к "буттон_клик"? :-) Типа стрелки перевёл на ТСа? :) Кросавчег! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 10:17 |
|
Repository & Service
|
|||
---|---|---|---|
#18+
И да, я не про "суровую бизнес-аналитику" писал, а про веб-запросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 10:27 |
|
Repository & Service
|
|||
---|---|---|---|
#18+
skyANAАлексей Кпропущено... В каком году это было? Сейчас каждый уважающий себя DI/ORM/и т.п. применяет Emit-кодогенерацию - скорость мало чем отличается от рукописного кода. Что же ты не приехал на Highload++ 2015 и не поведал им об этом? :)Они и без меня должны это знать. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 10:34 |
|
Repository & Service
|
|||
---|---|---|---|
#18+
skyANAИ да, я не про "суровую бизнес-аналитику" писал, а про веб-запросы.Веб-запросы могут использовать результаты "суровой аналитики", выполняемой "на лету" по оперативным данным. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 10:36 |
|
Repository & Service
|
|||
---|---|---|---|
#18+
Артем G[src C#] public class StepViewModel { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } [Required] [StringLength(100)] public string Name { get; set; } [Column(TypeName = "ntext")] public string Goal { get; set; } [Column(TypeName = "ntext")] public string Description { get; set; } public int StageId { get; set; } public StageViewModel Stage { get; set; } public IEnumerable<StageViewModel> StageDropDownListItems { get; set; } // здесь отличие от db и dto классов } В топку ntext! nvarchar(max) нужно использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 10:49 |
|
Repository & Service
|
|||
---|---|---|---|
#18+
ЕвгенийВАртем G[src C#] public class StepViewModel { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } [Required] [StringLength(100)] public string Name { get; set; } [Column(TypeName = "ntext")] public string Goal { get; set; } [Column(TypeName = "ntext")] public string Description { get; set; } public int StageId { get; set; } public StageViewModel Stage { get; set; } public IEnumerable<StageViewModel> StageDropDownListItems { get; set; } // здесь отличие от db и dto классов } В топку ntext! nvarchar(max) нужно использовать. спасибо. понял. погуглю о причинах. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 12:12 |
|
Repository & Service
|
|||
---|---|---|---|
#18+
Алексей КskyANAИ да, я не про "суровую бизнес-аналитику" писал, а про веб-запросы.Веб-запросы могут использовать результаты "суровой аналитики", выполняемой "на лету" по оперативным данным. К чему это ты? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 16:14 |
|
Repository & Service
|
|||
---|---|---|---|
#18+
Артем GskyANAСервис - это бизнес-логика . Это как если бы Вы что-то делали, делали, проверяли, сверяли, получили результат (вот это сервис)... и на листочек записали (вот это репозиторий). Просто многие пихают первое в контроллеры, а потом задаются вопросом: а чем у нас сервисы от репозиториев-то отличаются? :) Вот тут созрел вопрос. Интересно как бы Вы реализовали. Есть Stage (один) и Step (ко многим) в базе. При создании Step на странице сайта нужно выбрать Stage из DropDownList. Вот модель Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Вот контроллер Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Видно что какая-то часть логики в контроллере. Вы бы оставили все как есть в контроллере или перенесли бы это в логику? PS. Сейчас у меня все это в контроллере, есть желание перенести в логику, но тогда придется менять DTO Step в бизнес логике, добавив IEnumerable<Stage>. Напомню что Stage (один) и Step (ко многим) в базе и не логично как-то в DTO Step иметь IEnumerable<Stage>. Заранее спасибо. "выбрать Stage из DropDownList" к логике не имеет никакого отношения. Это некое UI решение. Отображение модели (Model) на модель представления (ViewModel) я бы вынес в отдельный класс, назовём его Converter, или Formatter, или Mapper, и было бы как-то так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2016, 16:21 |
|
|
start [/forum/topic.php?fid=20&msg=39191163&tid=1400730]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
199ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 300ms |
0 / 0 |