Comments 19
поясните в чем плюсы и минусы использования «солдатского» итератора вместо «абстрактного»? ато ваше обяснение «мой способ уникален тем что он другой» както не очень помогает. не для себя спрашиваю просто думаю народу не особо понятно будет
Ну просто проблема в том, что иметь интерфейс для итератора очень удобно.
То есть налицо интерфейс содержащий методы hasNext () и moveNext (). А реализации мы можем иметь и солдатские и прямого обхода или реверсного, если это какая упорядоченная коллекция.
Ну мой пример на самом деле проще чем стандартные объяснения, поэтому прошу прощения за то что я об этом упомянул в статье так будто у меня что-то круче:)
Спасибо за комментарий.
То есть налицо интерфейс содержащий методы hasNext () и moveNext (). А реализации мы можем иметь и солдатские и прямого обхода или реверсного, если это какая упорядоченная коллекция.
Ну мой пример на самом деле проще чем стандартные объяснения, поэтому прошу прощения за то что я об этом упомянул в статье так будто у меня что-то круче:)
Спасибо за комментарий.
Я на Хабре новый. Подскажите в какой блог лучше забросить эту статью.
Ваша ссылка испорчена: href%3Dhttp//andriybuday.blogspot.com/2010/01/design-patterns.html
наверно, все-таки вы хотели дать нормальную ссылку.
вот она — andriybuday.blogspot.com/2010/01/design-patterns.html
вот она — andriybuday.blogspot.com/2010/01/design-patterns.html
Google Translate?
SoldiersIterator iterator = new SoldiersIterator(earthArmy);
while(iterator.hasNext()){
Soldier currSoldier = iterator.next();
currSoldier.treat();
}
* This source code was highlighted with Source Code Highlighter.
Этот код пропускает первого же юнита
public boolean hasNext() {
//...
if(currentGroup < _army.ArmyGroups.size())return true;
if(currentGroup == _army.ArmyGroups.size()-1)
if(currentGroupSoldier < _army.ArmyGroups.get(currentGroup).Soldiers.size())return true;
//...
}
* This source code was highlighted with Source Code Highlighter.
Условие во втором if'е включается в условие первого, т.к. _army.ArmyGroups.size()-1 < _army.ArmyGroups.size()
Поправьте меня, если я неправ
Если вам очень не нравится мой русский, то вы можете прочитать статью на английском, а потом ставить минусы:
andriybuday.blogspot.com/2010/02/iterator.html
P.S. пробую спасти репутапцию статьи
andriybuday.blogspot.com/2010/02/iterator.html
P.S. пробую спасти репутапцию статьи
В конкретный момент времени сттаття не имеет положительной оценки. Я бы хотел получить какую-то конструктивную критику. Для меня это важно. Спасибо.
Первое: ужасный русский язык. Я вам уже писал, что стоит давать статьи на вычитку тем, кто знает русский. Сейчас текст выглядит так, как-будто вы его прогнали через Google Translate. Очень важно писать статьи грамотно, вам ведь неприятно читать статьи на ломаном украинском языке с кучей русизмов?
Второе: итератор, конечно, очень полезная абстракция, но нужно понимать, что он слишком прост для того, чтобы посвящать ему целую статью на ресурсе с широкой ІТ-аудиторией. Гугл находит около полутора тысяч упоминаний итератора на Хабрахабре, очевидно же, что аудитория хорошо знакома с предлагаемой вами темой. Про паттерны GoF здесь уже писали неоднократно.
Вывод: если ваша статья написана с кучей ошибок, но ее тема интересна сообществу — ее ждет успех (как с предыдущей вашей статьей). Если же вы пишете о том, что все давно знают… ну вы поняли. И не воспринимайте минусы как личное оскорбление — это оценка результатов вашего труда, а не вас самих.
Второе: итератор, конечно, очень полезная абстракция, но нужно понимать, что он слишком прост для того, чтобы посвящать ему целую статью на ресурсе с широкой ІТ-аудиторией. Гугл находит около полутора тысяч упоминаний итератора на Хабрахабре, очевидно же, что аудитория хорошо знакома с предлагаемой вами темой. Про паттерны GoF здесь уже писали неоднократно.
Вывод: если ваша статья написана с кучей ошибок, но ее тема интересна сообществу — ее ждет успех (как с предыдущей вашей статьей). Если же вы пишете о том, что все давно знают… ну вы поняли. И не воспринимайте минусы как личное оскорбление — это оценка результатов вашего труда, а не вас самих.
Благодарю за хороший комментарий.
Мне остается или писать о новых и очень интересных вещах, или справляться с русским языком.
А итератор действительно известен всем паттерн. Получается, что писать надо о чем-то чего еще не было на этом сайте. (Напоминает stackoverflow — те же вопросы закрывают просто, а тут "-" ставят.)
Но, на самом деле если искать так site:habrahabr.ru «итератор» то выдает мою статью по первой ссылке.
Я пытаюсь минусы не воспринимать как личное, мне оценки нужны для анализа своей работе.
Мне остается или писать о новых и очень интересных вещах, или справляться с русским языком.
А итератор действительно известен всем паттерн. Получается, что писать надо о чем-то чего еще не было на этом сайте. (Напоминает stackoverflow — те же вопросы закрывают просто, а тут "-" ставят.)
Но, на самом деле если искать так site:habrahabr.ru «итератор» то выдает мою статью по первой ссылке.
Я пытаюсь минусы не воспринимать как личное, мне оценки нужны для анализа своей работе.
Sign up to leave a comment.
Итератор