Сравнение двух схем XML

Существуют ли какие-либо инструменты для эффективного сравнения двух схем XML? Я видел некоторые общие инструменты XML diff, но мне было интересно, есть ли что-нибудь, что знает больше о схемах.

xml   comparison   xsd    

386   1   08:28, 15th August, 2020


Как вы передаете сообщения/ошибки уровня обслуживания на более высокие уровни с помощью MVP?

В настоящее время я пишу приложение ASP.Net от UI вниз. Я внедряю архитектуру MVP, потому что я устал от Winforms и хотел чего-то, что имело лучшее разделение проблем.

Таким образом, с MVP презентатор обрабатывает события, вызванные представлением. Вот некоторый код, который у меня есть, чтобы иметь дело с созданием пользователей:

public class CreateMemberPresenter
{
    private ICreateMemberView view;
    private IMemberTasks tasks;

    public CreateMemberPresenter(ICreateMemberView view) 
        : this(view, new StubMemberTasks())
    {
    }

    public CreateMemberPresenter(ICreateMemberView view, IMemberTasks tasks)
    {
        this.view = view;
        this.tasks = tasks;

        HookupEventHandlersTo(view);
    }

    private void HookupEventHandlersTo(ICreateMemberView view)
    {
        view.CreateMember += delegate { CreateMember(); };
    }

    private void CreateMember()
    {
        if (!view.IsValid)
            return;

        try
        {
            int newUserId;
            tasks.CreateMember(view.NewMember, out newUserId);
            view.NewUserCode = newUserId;
            view.Notify(new NotificationDTO() { Type = NotificationType.Success });
        }
        catch(Exception e)
        {
            this.LogA().Message(string.Format("Error Creating User: {0}", e.Message));
            view.Notify(new NotificationDTO() { Type = NotificationType.Failure, Message = "There was an error creating a new member" });
        }
    }
}

У меня есть моя основная проверка формы, выполненная с использованием встроенных элементов управления проверкой .Net, но теперь мне нужно проверить, что данные достаточно удовлетворяют критериям для уровня сервиса.

Допустим, могут отображаться следующие сообщения уровня сервиса:

  • Учетная запись электронной почты уже существует (сбой)
  • Ссылка на введенного пользователя не существует (сбой)
  • Длина пароля превышает допустимую длину хранилища данных (сбой)
  • Участник создан успешно (success)

Предположим также, что на уровне сервиса будет больше правил, которые UI не может предвидеть.

В настоящее время у меня есть уровень сервиса, который бросает исключение, если все пошло не так, как планировалось. Это достаточная стратегия? Этот код пахнет для вас, ребята? Если бы я написал такой уровень сервиса, вы были бы раздражены необходимостью писать докладчиков, которые используют его таким образом? Коды возврата кажутся слишком старой школой, и bool просто недостаточно информативен.


Редактировать не по OP: слияние в последующих комментариях, которые были опубликованы в качестве ответов OP


Cheekysoft, мне нравится концепция a ServiceLayerException. У меня уже есть глобальный модуль исключений для исключений, которые я не ожидаю. Считаете ли вы, что все эти пользовательские исключения утомительны? Я думал, что ловить базовый класс исключений было немного вонючим, но не был точно уверен, как продвигаться оттуда.

tgmdbm, мне нравится умное использование выражения lambda там!


Спасибо Cheekysoft за последующие действия. Поэтому я предполагаю, что это будет стратегия, если вы не возражаете, чтобы пользователь отображал отдельную страницу (Я в первую очередь веб-разработчик), если исключение не обрабатывается.

Однако, если я хочу вернуть сообщение об ошибке в том же представлении, где пользователь представил данные, вызвавшие ошибку, мне придется поймать исключение в Презентаторе?

Вот как выглядит CreateUserView, когда ведущий обработал ServiceLayerException:

Create a user

Для такого рода ошибок, это хорошо, чтобы сообщить об этом в том же представлении.

В любом случае, я думаю, что сейчас мы выходим за рамки моего первоначального вопроса. Я поиграю с тем, что вы опубликовали, и если мне понадобится дополнительная информация, я отправлю новый вопрос.

c#   asp.net   exception   mvp   n-tier-architecture    

525   3   08:19, 15th August, 2020


C Управление Памятью

Я всегда слышал, что в C году вы должны действительно следить за тем, как вы управляете памятью. И я все еще начинаю учиться C, но до сих пор мне не приходилось делать никаких действий, связанных с управлением памятью.. Я всегда представлял себе, что мне придется освобождать переменные и делать всевозможные уродливые вещи. Но, похоже, это не так.

Может ли кто-нибудь показать мне (с примерами кода) пример того, когда вы должны были бы сделать некоторые "memory management" ?

c   memory    

407   12   08:12, 15th August, 2020


Программа просмотра изображений?

Здравствуйте.


Как-то мне почти случайно попалась программа просмотра изображений, в которой вся папка с картинками была представлена в виде единого поля, на котором были разбросаны маленькие «фишки»-превьюшки. И их можно было сортировать в произвольном порядке по этому полю. Помню, что в описании программы на её сайте было сказано, что это то ли студенческий проект, то ли выпускная работа кого-то. Но вот само название стёрлось из памяти :(


Не Cooliris :)

JPEG    

263   4   08:11, 15th August, 2020


Чего не хватает современным CMS?

Ответ на этот вопрос пригодится как разработчикам современных CMS, так и новичкам, только начинающим это нелегкое и не всегда одобряемое дело.
Я не говорю о таких вещах, как скорость загрузки, дружелюбность интерфейса и т.д., жду от вас скорее конкретики и всяких мелочей, которые могли бы упростить вашу жизнь и ускорить работу по созданию, настройке и наполнению сайтов.



Почему Яндекс предлагает на странице результатов искать в других поисковиках, а Google нет?

При просмотре результатов поиска, Яндекс предлагает также поиск в Google, Bing, <МЕТА>, Mail.ru. А Гугл такого не предоставляет.

Google   Яндекс    

390   9   07:53, 15th August, 2020


Отложенное выполнение кода в php

Приветствую!

Столкнулся с таким вопросом — как реализовать следующее:

Пользователь заходит на страницу a.php, его перенаправляет на b.php и в то же время вызывается и выполняется c.php
C.php — ресурсоемкий скрипт, который хотелось бы выполнять в фоновом режиме, в то время как пользователь дальше занимался своими делами на b.php

PHP    

379   14   07:52, 15th August, 2020


DMZ средствами iptables

Посоветуйте, пожалуйста, как настроить DMZ в iptables — пробросить все порты из внешнего интернета на компьютер в локальной сети? ОС Ubuntu Server 10.04

Linux   Iptables    

456   2   07:50, 15th August, 2020


Посоветуйте толковую книгу по Java EE 6

Здравствуйте.
Посоветуйте пожалуйста толковую книгу по Java Enterprise Edition 6.
С программированием на Java знаком. Варианты на английском языке так же приветствуются.
Заранее спасибо.

Java   Книги   IT-образование    

346   7   07:50, 15th August, 2020


Как увеличить колличество символов в отображение названия файла?

На рабочем столе сейчас отображается максимум 20 символов, после 20го идет троеточие.

Как увеличить колличество?

ОС: win7

Windows    

245   1   07:38, 15th August, 2020