Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по ООД / 4 сообщений из 4, страница 1 из 1
09.03.2015, 19:58
    #38899080
daunito
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по ООД
Хочу услышать мнение опытных людей. Нужен универсальный класс, который мог бы находить и/или заменять текст в указанном файле. Как правильно разложить его на подклассы? У меня получается так
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
public abstract class FileScanner{
  private FileReader fileReader;
  public FileScanner(FileReader fileReader){
    this.fileReader = fileReader;
  }
  ...
  public static getScanner(String args)
  {
     FileScanner ret = null;
     //на основе аргументов возвращается нужный экземпляр из наследников. Либо reader, либо replacer
     return ret;
  }
}

public interface FindText{
 int findText(String src, String searchText);
}

public interface ReplaceText{
 String replaceText(String src, String searchText, String replaceTo);
}

public class Finder extends FileScanner implements FindText{
...
}

public class Replacer extends FileScanner implements ReplaceText{
...
}


насколько такая архитектура правильная? Меня смущает один момент, при создании экземпляра наследника как FileScanner, методов findText, replaceText не видно, т.к. они реализованы в наследниках. Помогло явное приведение к нужному интерфейсу, но такое ощущение, что как-то это криво. Буду благодарен за критику и предложения
...
Рейтинг: 0 / 0
09.03.2015, 20:09
    #38899087
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по ООД
Вопросы:
1. Какая решаемая задача? Зачем все это надо?
2. В чем заключаетсяо эта универсальность? Другими словами - что именно хотите сделать общим?
3. В чем заключается уникальность того, кто использует ваш универсальный механизм?
...
Рейтинг: 0 / 0
09.03.2015, 20:18
    #38899090
daunito
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по ООД
Leonidv,

изучение принципов ООД. Это тренировочное задание. Изначально был один абстрактный класс, с двумя методами find и replace. А два его наследника имели по одной заглушке для метода, который они не реализуют. Мне нужно сделать рефакторинг кода.
...
Рейтинг: 0 / 0
09.03.2015, 23:09
    #38899237
daunito
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по ООД
LeonidvВопросы:
2. В чем заключаетсяо эта универсальность? Другими словами - что именно хотите сделать общим?

общим должен быть класс для работы с разными источниками текста (фтп, http, file ...) и должен выполнять функции поиска и замены текста в себе
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по ООД / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]