Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Завдання 2. Створення класу контексту даних
Класу WorldDataContext забезпечує можливість об’єднання колекцій об’єктів сутностей предметної області у один об’єкт, дані якого можна легко зберегти на диску або в пам’яті, використовуючи механізм серіалізації. Діаграма класів контексту даних зображена на рисунку 1. Віртуальний захищений метод ClearCollections() викликається методом Clear() базового класу EntitiesDataContext з метою очистки колекцій похідних класів. Віртуальний захищений метод CreateDataString() викликається реалізаціями методів ToShortDataString() та ToDataString() базового класу з метою формування текстового представлення даних усіх колекцій контексту даних. Реалізація класу WorldDataContext наведена у лістингу 4.
Рисунок 1 – Ієрархія класів контексту даних
Лістинг 4 – Реалізація класу WorldDataContext
using Common.Context; using System; using System.Collections.Generic; using System.Text; using WorldDivision.Domain; using Entities; using Entities.Data;
namespace WorldDivision.Data {
[Serializable] public class WorldDataContext: EntitiesDataContext {
private readonly List<Macroregion> regions = new List<Macroregion>();
public List<Macroregion> Macroregions { get { return regions; } }
private readonly List<Country> countries = new List<Country>();
public List<Country> Countries { get { return countries; } }
private readonly List<Organization> organizations = new List<Organization>();
public List<Organization> Organizations { get { return organizations; } }
private readonly List<MembershipStatus> membershipStatuses = new List<MembershipStatus>();
public List<MembershipStatus> MembershipStatuses { get { return membershipStatuses; } }
private readonly List<Membership> memberships = new List<Membership>();
public List<Membership> Memberships { get { return memberships; } }
private readonly List<UNDivisionObject> uNDivisionObjects = new List<UNDivisionObject>();
public List<UNDivisionObject> UNDivisionObjects { get { return uNDivisionObjects; } }
protected override void ClearCollections() { memberships.Clear(); membershipStatuses.Clear(); countries.Clear(); organizations.Clear(); regions.Clear(); uNDivisionObjects.Clear(); }
protected override string CreateDataString( Func<IEnumerable<Entity>, string, string> toDataString) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("{0}Об'єкти поділу Світу:", LineIndent.Current.Value); LineIndent.Current.Increase(); sb.AppendFormat(toDataString(Macroregions, "Макромакрогеографічні та макрогеографічні регіони")); sb.AppendFormat(toDataString(Countries, "Країни та території")); sb.AppendFormat(toDataString(Organizations, "Міжнародні організації")); sb.AppendFormat(toDataString(MembershipStatuses, "Статуси членів міжнародних організацій")); sb.AppendFormat(toDataString(Memberships, "Члени міжнародних організацій")); LineIndent.Current.Decrease(); return sb.ToString(); }
} }
Завдання 3. Створення тренувального об’єкту контексту даних та відображення його вмісту у текстовому представленні.
Реалізація методу дослідження результату формування текстового представлення контексту даних наведена у лістингу 5, а результат його виклику – на рисунку 2.
Лістинг 5 – Реалізація методу дослідження результату формування текстового представлення контексту даних
static void StudyWorldDataContext() { Console.WriteLine("\n--- StudyWorldDataContext ---\n");
WorldDataContext dataContext = new WorldDataContext();
dataContext.Regions.AddRange(regionsArray);
dataContext.Countries.UnionWith(countriesArray);
dataContext.Organizations.UnionWith(organizationsArray);
AddRegionsToOrganizations();
Console.WriteLine("\ndataContext.ToShortDataString():"); Console.WriteLine(dataContext.ToShortDataString()); Console.WriteLine("\ndataContext.ToDataString():"); Console.WriteLine(dataContext.ToDataString());
}
Рисунок 2 – Фрагмент результату виклику методу StudyWorldDataContext() Date: 2015-09-02; view: 445; Нарушение авторских прав |