powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / repository & aggregate entity
25 сообщений из 305, страница 5 из 13
repository & aggregate entity
    #39570917
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

а ещё я хотел бы уточнить, что означает новый термин: "REST база"?
это короткое название подхода "если у вас современная модель БД с грамотной денормализацией, то можно сразу сущности БД в виде классов выставлять в REST", верно?
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570918
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123skyANAТы в реальности-то пробовал то, о чем пишешь? Или лучше вопросы не задавать?
Я же говорю, вопросы у тебя все как у доктора, учителя и воспитателя детского сада))).
Я тебе как IT шник абзац написал. А у тебя предмет не технология интересует, а потрындеть и личный вопрос задать.
Вот когда так отвечают на прямые вопросы, то это называется вилять жопой уходить от ответа
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570919
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAэто короткое название подхода
+1 мой летописец
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570920
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

давай чётко определимся с терминами и я задам тебе ряд вопросов чисто как IT-шник.
Согласен на это?
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570921
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВот когда так отвечают на прямые вопросы, то это называется вилять жопой уходить от ответа
У меня недостаток. Флуд только на IT вопросы.
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570922
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAPetro123,
давай чётко определимся с терминами и я задам тебе ряд вопросов чисто как IT-шник.
Согласен на это?
Какой ты скушный. Определяется 2 дня!!!! Чтобы задать вопрос)))))))
Вернее, задаешь вопрос можно ли задать вопрос)))).
LOL
У меня тут Т9, я не описался?
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570923
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttPetro123пропущено...

не выйдет Учитель.
Иди к ваде.

сплюнь
))
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570926
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123skyANAPetro123,
давай чётко определимся с терминами и я задам тебе ряд вопросов чисто как IT-шник.
Согласен на это?
Какой ты скушный. Определяется 2 дня!!!! Чтобы задать вопрос)))))))
Вернее, задаешь вопрос можно ли задать вопрос)))).
LOL
У меня тут Т9, я не описался?
2 дня? Не льсти себе. В сумме минут 15 не больше :)

Ну да ладно. Я на примере ТС задам тебе вопросы:
ArpanxЕсть доменный тип "корзина покупателя со списком товаров в корзине"
Есть доменый тип "товар"

Вариант1)
Клиент отправляет команды серверу добавить в корзину/удалить/посчитать коммисию.
В ответ получает новое состояние корзины. Такой вариант мне нравиться, логика на клиенте минимальная.
Как, в случае предлагаемого тобой подхода "нормализованная REST база", будет собираться полная информация, необходимая для отображения корзины покупателю?
Сколько это будет запросов к серверу, 2 + N? За самой корзиной, за списком товаров в ней, за информацией по каждому из N товаров?
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570927
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для ясности предполагается, что корзина сохраняется в БД.
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570938
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
Вар.1
Ты выбрал корзину не в сессии, а в базе. Значит будет сущность Корзина с инфой по покупателю.
Не вижу пока сложности.
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570940
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123skyANA,
Вар.1
Ты выбрал корзину не в сессии, а в базе. Значит будет сущность Корзина с инфой по покупателю.
Не вижу пока сложности.OZON тоже выбрал корзину не в сессии, а в базе

Каким образом и где у тебя собрался агрегат "Корзина с инфой по покупателю"?
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570944
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

а вообще меня радует как ты отвечаешь:
skyANAКак, в случае предлагаемого тобой подхода "нормализованная REST база", будет собираться полная информация, необходимая для отображения корзины покупателю?
Сколько это будет запросов к серверу, 2 + N? За самой корзиной, за списком товаров в ней, за информацией по каждому из N товаров?Petro123Не вижу пока сложности.
Ну сделаем мы десяток запросов к серверу, чтобы отобразить корзину, делов-то. Не сложно
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570946
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAOZON тоже выбрал корзину не в сессии, а в базе
почаще предупреждай заказчика, что выбираешь самые сложные случаи во вселенной
______________________________________________
"Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand.
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570947
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКаким образом и где у тебя собрался агрегат "Корзина с инфой по покупателю"?
не всё тебе быть интервьюером)).
Итого, у тебя 100 страниц ИС с информацией один ко многим.
MS это по ноу хау называет агрегатами))
- чем страничка с корзиной отличается от любой другой?
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570951
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНу сделаем мы десяток запросов к серверу, чтобы отобразить корзину, делов-то. Не сложно
опять у тебя вода.
Как вариант в ангуляре:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
На Ангуларе это делается следующим образом — есть директива корзины (виджет) и есть сервис корзины. Добавление товаров в корзину идет через сервис, а директива слушает изменения сервиса и выводит у себя обновленную инфу.

Вот Директива:
angular.module('app').directive('shoppingCartWidget', function(shoppingCartService) {
    return {
        restrict: 'E',
        replace: true,
        scope: {},
        templateUrl: 'shopping-cart.html',
        link: function(scope, element, attributes) {
            scope.items = [];

            // слушаем изменения в корзине
            scope.$watch(shoppingCartService.getItems, function(items) {
                scope.items = items;
            });
        }
    }
});


Вот сервис:
angular.module('app').directive('shoppingCartService', function(_) {
    var items = [];

    function add(itemData) {
        items.push(itemData);
    }

    function remove(itemID) {
        items = _.reject(items, {id: itemID});
    }

    function clear() {
        items = [];
    }

    function getItems() {
        return items;
    }

    return {
        add: add,
        remove: remove,
        clear: clear,
        getItems: getItems
    }
});


Вот контроллер:
angular.module('app').controller('myController', function(shoppingCartService) {

    // ну, тут будет не массив, а $resource, например

    $scope.items = [
        {
            id: 1,
            name: 'Клавиатура',
            price: 150
        },
        {
            id: 2,
            name: 'Кофе',
            price: 50
        }
    ];

    $scope.addToCart = addToCart;

    function addToCart(itemData) {
        shoppingCartService.add(itemData);
    }

});


Вот вьюха списка товаров:
<ul>
    <li ng-repeat="item in items">
        <span>{{item.name}}</span>
        <button ng-click="addToCart(item)">Добавить в корзину</button>
    </li>
</ul>

...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570952
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123skyANAOZON тоже выбрал корзину не в сессии, а в базе
почаще предупреждай заказчика, что выбираешь самые сложные случаи во вселенной
______________________________________________
"Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand.
Хорошо.
Давай корзину заменим на любую другую сущность, данные которой, если их хранить в реляционной БД, в нормализованном виде, будут разложены по 4-5 таблицам.
От этого что-то изменится? Ты ответишь уже прямо на вопросы?
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570953
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAКак, в случае предлагаемого тобой подхода "нормализованная REST база", будет собираться полная информация, необходимая для отображения корзины покупателю?
Сколько это будет запросов к серверу, 2 + N? За самой корзиной, за списком товаров в ней, за информацией по каждому из N товаров?
странно. Почему не спросил про Отчёты?
Там агрегация огого какая.
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570954
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот ты и раскрылся!
skyANAДавай корзину заменим на любую другую сущность, данные которой, если их хранить в реляционной БД, в нормализованном виде, будут разложены по 4-5 таблицам.
От этого что-то изменится?
====== Корзина ни при чём! Ты просто не веришь в сам REST подход! )))))))
Ты ответишь уже прямо на вопросы?
====== так ты флудер. Зачем приплёл корзину? Её можно и на вебсокете сделать))) рядом с рест
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570956
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123skyANAНу сделаем мы десяток запросов к серверу, чтобы отобразить корзину, делов-то. Не сложно
опять у тебя вода.
Где у меня вода?
Раз ты пишешь, что модель нормализована, то в БД как минимум 4 таблицы.
Раз ты пишешь, что можно сразу сущности БД в виде классов выставлять в REST, минуя сервисные слои и прослойки, то встаёт вопрос а как ты собираешь агрегат на клиенте? Сколько это запросов к серверу, 5-10-20?
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570957
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123skyANAКак, в случае предлагаемого тобой подхода "нормализованная REST база", будет собираться полная информация, необходимая для отображения корзины покупателю?
Сколько это будет запросов к серверу, 2 + N? За самой корзиной, за списком товаров в ней, за информацией по каждому из N товаров?
странно. Почему не спросил про Отчёты?
Там агрегация огого какая.
Я начал с простого.
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570959
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вот ты и раскрылся!
skyANAДавай корзину заменим на любую другую сущность, данные которой, если их хранить в реляционной БД, в нормализованном виде, будут разложены по 4-5 таблицам.
От этого что-то изменится?
====== Корзина ни при чём! Ты просто не веришь в сам REST подход! )))))))
Ты ответишь уже прямо на вопросы?
====== так ты флудер. Зачем приплёл корзину? Её можно и на вебсокете сделать))) рядом с рест

Я верю в REST подход. Я не верю в твой подход: "нормализованная REST база". Это разные вещи.
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570961
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЯ начал с простого.
простое и логичное - это корзина на сеанс. Закрываем ослик и корзина пропадает.
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570962
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И более того: я использую REST подход в своих проектах.
Да, он не всегда RESTful, потому как есть определённые сложности и не всё на него гладко ложится и это нормально.

Но ты-то сложностей вообще не видишь. Правда на простые вопросы толком ответить не можешь, всё в сторону уходишь
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570964
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЯ верю в REST подход. Я не верю в твой подход: "нормализованная REST база". Это разные вещи.
Лучше так:
Я верю в REST подход. Я не верю в ТЕБЯ!
)))))))))
...
Рейтинг: 0 / 0
repository & aggregate entity
    #39570965
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123skyANAЯ начал с простого.
простое и логичное - это корзина на сеанс. Закрываем ослик и корзина пропадает.
Вот опять в сторону пошёл

Хорошо. Давай заменим слово корзина на заказ: "Заказ покупателя со списком товаров в заказе".
Вопросы остаются те же.
...
Рейтинг: 0 / 0
25 сообщений из 305, страница 5 из 13
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / repository & aggregate entity
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]