Я не согласен с вашим пониманием развязки.Разделение не только о том, какие объекты создают другие объекты, но и о том, какие объекты знают о поведении других объектов и (что крайне важно), что необходимо изменить в (вашем примере) документе, если Word изменяется.
Однако, такжеЯ действительно не понимаю, что вы подразумеваете под этими двумя фразами:
У меня есть только один объект для Word и один для Document.Я не создаю новый объект для каждого нового документа или слова.Я храню список всех документов в документе и список всех слов в Word
Начать с документа.Что могут делать объекты этого класса?Вы, кажется, говорите, что
class Document {
private List<??OfWhat??> allDocuments;
}
Если класс Document содержит список, что это за список?Я думаю, что вам нужно:
class Shelf {
private List<Document> allDocuments;
}
class Document{
private List<Word> wordInOneDocument;
}
class Word {
private String wordContents;
}
Теперь полка может предлагать такие методы, как getRecentDocumets () findDocumentsContained (String text) и Document может содержать getWordCount () и insertParagraph (List, START);и т. д.
Для лучшего обсуждения нам нужно увидеть немного больше того, что вы имели в виду, немного больше о поведении.
Я согласен с вашей общей мыслью, чтоЧто-то кроме Документа и Word там.Что-то, что может разумно вызвать методы, такие как createDocument () и insertParagraph ()