Вы разместили только часть 1 по вашей ссылке. Ниже я использовал xml linq для получения элемента. Если файл огромен, вам также нужно использовать xmlreader
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication1
{
class Program
{
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
XDocument doc = XDocument.Load(FILENAME);
XElement resprocessing = doc.Descendants("resprocessing").FirstOrDefault();
string header = "<?xml version=\"1.0\" encoding=\"utf-8\"?><resprocessing></resprocessing>";
XDocument newDoc = XDocument.Parse(header);
XElement newResprocessing = newDoc.Root;
newResprocessing.ReplaceWith(resprocessing);
}
}
}
Если я встречаюсь с формой (или другой класс) со слишком большой ответственностью, я обычно следую за шаблоном ниже:
существуют ситуации, где единый класс недостаточно, таким образом, это не проблема для создания большего количества классов. И эти классы могут иметь другие классы к.
С этими шагами, можно заняться большинством этих проблем.
Для запуска с, я могу настоятельно рекомендовать чтение книги , Осуществляющей рефакторинг Martin Fowler.
Это даст Вам реальное понимание о том, как лучше всего разумно приблизиться, изменения представления в существующем (не OO) кодируют для улучшения пригодности для обслуживания.
я не посмотрел бы на ORM, пока у Вас нет ясного понимания о том, какие преимущества (если таковые имеются) можно было бы дать Вашему приложению.
Другая книга я могу высоко, настоятельно рекомендуют - по моему личному мнению, которому еще лучше удовлетворяет, чем "универсальная" книга рефакторинга Fowler - "Работа Эффективно с Унаследованным кодом" Michael Feathers . Это действительно демонстрирует главные удары, которые Вы поразите при выполнении такой работы. О, и: Рефакторинг унаследованного кода может вполне плохо обращаться с Вашей душой. Я надеюсь, что можно обработать разочарование... Мне нравится эта кавычка (не помните, где я получил ее от): "Бог смог создать мир через 6 дней, просто потому что не было никакого унаследованного кода".Удачи. ;)
Импорт в Моделист является моим первым действием, сталкиваясь с существующим проектом Delphi. Моделист поможет Вам в рефакторинг Ваш код потому что:
основную функциональность Моделиста легко изучить. Моделист похож на любой другой хороший инструмент для повышения производительности - Чем больше Вы помещаете в него, тем больше Вы выходите из него. Моделист не свободен, но легко платит за себя в повышенной производительности. Я не нашел лучший инструмент для рефакторинга кода Delphi прежней версии. Они предлагают бесплатную демонстрационную версию и некоторые достойные учебные фильмы. Дайте Моделисту попытку и удачу...
У меня есть encoured проблема как это с одним приложением, я начинаю делать следующее:
я использовал статические методы, потому что для Вас легче удалить код из событий и просто назвать их, не требуя для Создавания/Освобождения объекта для каждой операции. Первоначальный проект не был разработан для разделения форм от кода бизнес-логики.
заключительным приложением не было полное OO, но это меньше всего было легче протестировать методы, не требуя взаимодействующий с формами и событиями как прежде.
Иногда Вы чувствуете, перепроектируете ли Вы приложение с нуля, будет легче, чем к внесенным изменениям сделать это реальным дизайном OO.
После понимают то, что Вам нужен к столовой Ваш код, и если Вы хотите OPF/ORM, я предлагаю джаз SDK