1 / 1 / 0
Регистрация: 23.02.2013
Сообщений: 45
|
||||||
1 | ||||||
Посоветуйте паттерн для сверки всех объектов класса между собой01.03.2016, 23:27. Показов 844. Ответов 6
Метки нет (Все метки)
Друзья, нужен совет.
Есть потребность произвести сверку всех объектов класса между собой. В зависимости от результатов, обработка. Попробовал реализовать так: допустим класс содержит структуру
как то так. в коде могут быть ошибки (набирал быстро) но код откомпилился Структура оказалась наполнена но даные не инициализиованы.(данне из стека видны не были, может в этом проблема?) Пока реализовал сверку вне класа, все работает Может по логике так не выйдет? Псоветуйте где может быть ошибка либо какой то, другой паттерн. Очень бы хотелось инкапсулировать сверку объектов и обработку внутри класса Заранее спасибо. Добавлено через 4 минуты Прошу прощения, подсветка кода что-то не то ловит, если не удобно читать могу снять теги кода. Добавлено через 7 минут тег кода должен быть [СРР] [/СРР] ?
0
|
01.03.2016, 23:27 | |
Ответы с готовыми решениями:
6
Работа с крупными файлами и ускорение их сверки между собой Функционирование классов и объектов между собой Метод класса изменяет переменную для всех объектов сразу Выяснить, что в данной целочисленной матрице суммы элементов во всех строках и всех столбцах равны между собой |
1 / 1 / 0
Регистрация: 23.02.2013
Сообщений: 45
|
|
04.03.2016, 01:10 [ТС] | 3 |
Спасибо , буду знать, а то по привычкe [CODE]
А по "теме" можете что-то подсказать? Был бы очень благодарен)))
0
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
||||||
04.03.2016, 01:31 | 4 | |||||
axedmin, Я набрал ваш код за вас, и всё равно ничего не понял что вам надо.
0
|
77 / 50 / 16
Регистрация: 17.05.2015
Сообщений: 262
|
|||||||||||||||||||||
04.03.2016, 05:20 | 5 | ||||||||||||||||||||
Я так понял, у него есть функция
Так же он перепутал местами ключ и значение
И я так понял он спрашивает, какой паттерн подойдет, когда есть много обьектов и они перебирают друг друга. Короче как в играх, ему надо, что бы обьекты взаимодействовали друг с другом, например изменяли друг другу значения и т.д. и т.п. Я сам задаюсь вопросом. Создавая игру или что-то, где много объектов в 2D пространстве. Как научить их взаимодействовать друг с другом. Либо систему сообщений пилить, где один отправляет сообщение "ищу цель в диапазоне N", а другие, когда дойдет до них очередь - дадут ответ "Я нахожусь в диапазоне N", либо в разделяемые пулы по пространству (чанки те же) либо еще как то, ибо перебирать все - сильно накладно.
0
|
1 / 1 / 0
Регистрация: 23.02.2013
Сообщений: 45
|
||||||||||||||||||||||||||||||||||||
04.03.2016, 11:24 [ТС] | 6 | |||||||||||||||||||||||||||||||||||
Опишу на словах.
Задача: Есть пулл(набор) объектов одного класса. да надо их научить взаимодействовать с друг другом. Но очень хотелось инкапсулировать обработку в самом классе. Предположительное решение: Двойной перебор. т.е. 1. создаем статический map в структуре класса
(это две попытки/варианта) но по моим прикидкам оптимальнее наполнять структуру именно в конструкторе
сверяем 2 вещи а. объект сверяется не сам с собой!!! б. важный нам параметр (в даном случае структура <b>Pos</b>) (<i>"красивее" всего показалось реализовать в операторе</i>)
О классе: объект имеет "состояния" поля и "действия" методы (которые собираем в один стартер action() ) во внешнем классе при создании объекта наполняем простой вектор объектами нашего класса
но и внешние. В каком либо месте происходит
набора объектов самих с собой, исключая пересечение одинаковых и заодно имеем возможность инкапсулировать взаимодействия между самими объектами. Добавлено через 42 минуты Однозначно согласен. Где-то в продакшене при большой нагрузке чистый перевод ресурса((
0
|
Модератор
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,469
|
|
04.03.2016, 15:33 | 7 |
Всё равно не понятно. (Много ненужных подробностей).
Если я правильно понял: У Вас есть коллекция объектов. Вам среди них нужно найти все пары объектов, для которых выполняется некое условие ("равны по заданному набору параметров"). Так? Тогда эффективней будет сначала отсортировать коллекцию по этому набору параметров (плюс уникальный ключ, чтобы дубликаты были рядом), а потом пройтись по ней, сравнивая соседние объекты.
0
|
04.03.2016, 15:33 | |
04.03.2016, 15:33 | |
Помогаю со студенческими работами здесь
7
Почему паттерн абстрактная фабрика - паттерн уровня объектов, если в нём могут быть статические отношения? Как связать между собой 3 класса Присваивание объектов одного типа между собой и передача объекта в функцию по значению Как объединить 3 класса между собой?(Калькулятор) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |