what's the pattern?

8 отговора 432 прегледа
#1

what's the pattern?

Правя нещо, но ми е интересно какъв точно design pattern използвам.

template <class Traverse>
void traverse(vector<int> v) {
Traverse t(v);
int fromIdx = t.getFromIdx();
int toIdx = t.getToIdx();
int currIdx = fromIdx;
while (currIdx != toIdx) {
currIdx = t.getNextIdx(currIdx);
}
}

class ReverseTraverse ...
class OddTraverse ...
class EvenTraverse ....

Това което е същината е че се подават различни стратегии за обхождане
на някаква част от масив, та това реално кой DP е?
Тук може да се обхожда граф, или нещо друго, това не е от значение.
Освен това, може и да се използва полиморфизъм а не темплейти, но с темплейти ми харесва повече.

Отговор
в отговор на faq #2

Re: what's the pattern?

Прилича на куц итератор малко

Сигнатура!
Отговор
в отговор на Questor #3

Re: what's the pattern?

мда, и аз си мислех за итератор - но по принцип може да му се слага
някаква функционалност за проверка дали примерно числото удовлетворява
някакво условие и ако го удовлетворява да се извършва някакво действие с това число ... въобще, да има по грандиозен замисъл :))), затова си мисля
дали това не е примерно Strategy - той нали е нещо от рода на подаване
на различни алгоритми .... но може би такива които имат една цел (примерно проверка дали число е просто).

Хм. :)

Отговор
в отговор на faq #4

Re: what's the pattern?

Аха разбирам, то под 'куц' имах предвид, че ако не изкарваш навънка тоя 'int', няма да има и нужда от проверка дали е валиден и т.н. :)

Но то си зависи от какво искаш да направиш де

Сега като погледнах пак - даже може би е нещо смесено като visitor, само дето ограничен до масив + стратегия.

Абе друго си е resign patterns.

Редактирано от Questor на

Отговор
в отговор на faq #5

Re: what's the pattern?

Policy.

Отговор
в отговор на faq #6

Re: what's the pattern?

На мен най-общо ми прилича на имплементация на Policy/Strategy.
(Както си казал(а) - искаш "различни стратегии за обхождане"...)

Отговор
в отговор на Pesho® #7

Re: what's the pattern?

Spored men policy-to ne e syshtestveno tuk - tazi chast spokoino mojeh da ia napravia sys polimorfizym primerno. No policy mi haresva poveche.

A inache ostanaloto moje bi naistina e strategy.

Отговор
в отговор на faq #8

Policy? Strategy?

Каква е разликата м/у Policy и Strategy?

Отговор
в отговор на faq #9

Re: what's the pattern?

итератор

Отговор