В настоящее время у меня есть следующий код:Хорошая практика/шаблон дизайна для решения вложенных, если еще?
for (each item) {
if (item == 'x') {
print
}
if (item == 'y) {
print
}
}
Теперь я есть дополнительное требование - Я хочу, чтобы одни и те же проверки, но вместо печати, мне нужно вставить в БД.
т.е.
for (each item) {
if (item == 'x') {
insertDB
}
if (item == 'y) {
insertDB
}
}
Это дублируется код, поэтому флаги приходят к моей мысли.
for (each item) {
if (item == 'x') {
if (insertDB) {
insertDB
} else {
print
}
}
if (item == 'y) {
if (insertDB) {
insertDB
} else {
print
}
}
}
Это явно вызвало много беспорядков if-else. Мое объектно-ориентированное программирование подсказывает мне новую идею.
for (each item) {
if (item == 'x') {
obj.doItemXAction();
}
if (item == 'y) {
obj.doItemXAction();
}
}
Object obj = new PrintObj();
Object obj = new DBInsertObj();
Код выглядит намного чище. Но, учитывая то, что я мог придумать, может ли кто-нибудь указать мне на точный шаблон дизайна, который касается ситуаций, подобных этому?
Выглядит немного как «шаблон стратегии» или, по крайней мере, кандидат на него. Http://www.tutorialspoint.com/design_pattern/strategy_pattern.htm –