what's the pattern?
8 отговора
432 прегледа
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 е?
Тук може да се обхожда граф, или нещо друго, това не е от значение.
Освен това, може и да се използва полиморфизъм а не темплейти, но с темплейти ми харесва повече.
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 е?
Тук може да се обхожда граф, или нещо друго, това не е от значение.
Освен това, може и да се използва полиморфизъм а не темплейти, но с темплейти ми харесва повече.
Re: what's the pattern?
мда, и аз си мислех за итератор - но по принцип може да му се слага
някаква функционалност за проверка дали примерно числото удовлетворява
някакво условие и ако го удовлетворява да се извършва някакво действие с това число ... въобще, да има по грандиозен замисъл :))), затова си мисля
дали това не е примерно Strategy - той нали е нещо от рода на подаване
на различни алгоритми .... но може би такива които имат една цел (примерно проверка дали число е просто).
Хм. :)
някаква функционалност за проверка дали примерно числото удовлетворява
някакво условие и ако го удовлетворява да се извършва някакво действие с това число ... въобще, да има по грандиозен замисъл :))), затова си мисля
дали това не е примерно Strategy - той нали е нещо от рода на подаване
на различни алгоритми .... но може би такива които имат една цел (примерно проверка дали число е просто).
Хм. :)
Re: what's the pattern?
Аха разбирам, то под 'куц' имах предвид, че ако не изкарваш навънка тоя 'int', няма да има и нужда от проверка дали е валиден и т.н. :)
Но то си зависи от какво искаш да направиш де
Сега като погледнах пак - даже може би е нещо смесено като visitor, само дето ограничен до масив + стратегия.
Абе друго си е resign patterns.
Но то си зависи от какво искаш да направиш де
Сега като погледнах пак - даже може би е нещо смесено като visitor, само дето ограничен до масив + стратегия.
Абе друго си е resign patterns.
Редактирано от Questor на
Re: what's the pattern?
На мен най-общо ми прилича на имплементация на Policy/Strategy.
(Както си казал(а) - искаш "различни стратегии за обхождане"...)
(Както си казал(а) - искаш "различни стратегии за обхождане"...)
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.
A inache ostanaloto moje bi naistina e strategy.