GAE: Как эффективно отобразить объектно-ориентированные проекты в хранилище данных Appengine
Предположим, что у меня есть следующая объектная модель (вы можете изменить ее так, как вам нравится, мой интерес - только эффективное сопоставление),
public class Product{
private String someAttribute;
//...
}
// A Seller who has a lot of products to sell, More than one Seller can sell the same Product
public class Seller{
private List<Product> products;
//...
}
public class Offer{
// who is offering
private Seller seller;
// multiple products can make an offer
private List<Product> products;
// pricing related
private Price price;
//...
}
Я хочу написать веб-приложение, которое будет выполнять, читать / писать / искать по этим объектам, и считаю, что точкой входа может быть любой из них.
Ниже приведены мои вопросы, -
Какой шаблон дизайна я буду использовать? Я думаю, какой-то шаблон адаптера?Следует ли хранить при хранении объекты Продавца ссылки на объекты Продукта? или только ключи? Я имею в виду, должен ли я преобразовать класс продавца в следующий,
открытый класс Продавец {частный список productKeys; }
Если я хочу написать масштабируемое и поддерживаемое приложение, я думаю, что должен быть какой-то хороший способ спроектировать мое приложение в многоуровневой архитектуре. Есть ли какой-нибудь пример для этого или какой-то уже использованный шаблон? например Какой-то JSP -> Сервис -> DAO -> хранилище данных? Примеры будут по достоинству оценены.
Я прошел через AppEngineSDK для Java, но не нашел пример для того же. помощь в ответах или указателях действительно ценится.