таблиці. При завданні значення властивості «XMLPATH» виробляється перевірка, чи існує файл по зазначеному шляху. Якщо файл не існує, то він створюється, у файл записується інформація про версію XML і кодуванні, а також записується кореневий елемент з необхідними атрибутами. Після цього значення передається змінної «PATH».
Програмна реалізація властивості:
private static string PATH= raquo ;;
/// lt; summary gt;
/// Повертає або задає ім'я файлу для завантаження і збереження XML.
/// lt;/summary gt; static string XMLPATH
{{return main_form.PATH; }
{(! File.Exists (value))
{writer=new XmlTextWriter (File.Create (value), Encoding.UTF8);.WriteStartDocument();.WriteStartElement(laquo;hashtableraquo;);.WriteStartAttribute(laquo;pair_countraquo;);.WriteEndAttribute();.WriteEndElement();.Close();
} _ form.PATH=value;
}
}
Поліморфізм
У програмі реалізований інтерфейс «IModify», який визначає імена і сигнатури методів, реалізованих у класі «StringModificator».
Програмна реалізація інтерфейсу і реалізує його класу
public interface IModify
{
/// lt; summary gt;
/// Виробляє в рядку заміну BB-тегів на коди RTF.
/// lt;/summary gt;
/// lt; returns gt; Повертає змінену рядок. lt;/returns gt; Modify ();
} class StringModificator: IModify
{static string TEXT;
StringModificator (string text)
{= text;
}
/// lt; summary gt;
/// Виробляє в рядку заміну BB-тегів на коди RTF.
/// lt;/summary gt;
/// lt; returns gt; Повертає змінену рядок. lt;/returns gt; string Modify ()
{= string.Concat ( { rtf1 ansi ansicpg1251 r n raquo ;, TEXT);=TEXT.Replace ( [b] raquo ;, { b ). Replace ( [/ b] raquo ;, } );=TEXT.Replace ( [u] raquo ;, { ul ). Replace ( [/u] raquo ;, } );=TEXT.Replace ( [i] raquo ;, { i ). Replace ( [/ i] raquo ;, } );=TEXT.Replace ( r n raquo ;, par );=string.Concat (TEXT, r n} ); TEXT;
}
}
3.3 Реалізація патерну
патерн «Модифікатор», що реалізовується за допомогою класу «StringModificator», призначений для зміни строкових об'єктів, виконання їх перетворення і форматування тексту перед виведенням на екран у поле форматованого тексту.
Програмна реалізація патерну:
public class StringModificator: IModify
{static string TEXT; StringModificator (string text)
{= text;
}
/// lt; summary gt;
/// Виробляє в рядку заміну BB-тегів на коди RTF.
/// lt;/summary gt;
/// lt; returns gt; Повертає змінену рядок. lt;/returns gt; string Modify ()
{= string.Concat ( { rtf1 ansi ansicpg1251 r n raquo ;, TEXT);=TEXT.Replace ( [b] raquo ;, { b ). Replace ( [/ b] raquo ;, } );=TEXT.Replace ( [u] raquo ;, { ul ). Replace ( [/u] raquo ;, } );=TEXT.Replace ( [i] raquo ;, { i ). Replace ( [/ i] raquo ;, } );=TEXT.Replace ( r n raquo ;, par );=string.Concat (TEXT, r n} ); TEXT;
}
}
3.4 Використання принципу сохраняемости
Для зберігання даних програми я вибрав формат XML (eXtensible Markup Language) у зв'язку з низкою його переваг над іншими способами зберігання даних, в рамках поставленої задачі.шіроко використовується для створення баз даних. У документі XML використовується деревоподібна структура зберігання даних. Хоча за великим рахунком зберігання даних у вигляді документів XML не надто ефективно, у такого способу зберігання є свої переваги. Як і відносно передачі повідомлень, найбільшою перевагою є простота. Деревоподібна структура - інтуїтивно зрозумілий і знайомий спосіб організації даних. Крім того, майже будь-який тип деревовидної структури - від реляційних баз даних до об'єктно-орієнтованих баз даних та ієрархічних структур - може бути представлений за допомогою дерева даних XML. Інша істотна перевага використання XML для зберігання даних полягає в тому, що XML...