2016-03-13 2 views
1

Я пытаюсь сделать приложение ATM в .NET Framework с использованием C#. Я реализовал часть его, используя трехуровневую архитектуру.Как получить доступ к логическому уровню?

Как пользователь выбирает снимать наличные деньги, поток перемещается из VIEW в LogicLayer, так как я добавил ссылку VIEW в LogicLayer. Теперь мне нужно вызвать метод просмотра из LogicLayer. Может кто-нибудь сказать мне, как это сделать?

Благодаря

class DataAccessLayerClass 
{ 
    BusinessObjectClass read(BusinessObjectClass bo) 
    { 
     //read from file if user exists then return his credentials 

     //else 
     //call INVALID USERNAME/PASSWORD errror method in VIEW. 
    } 
} 

Я могу течь из ЗРЕНИЯ к LL и Дали, но как течь в обратном направлении? При желании в этом случае

+1

Не могли бы вы вывести код? –

+0

Прочитайте об использовании MVVM (Model-View-ViewModel) с помощью WPF. Это должно предоставить вам функциональность, необходимую для создания многоуровневого приложения на C#. – stuartmclark

+0

@Jeroen Я могу перетекать из VIEW в LL и DAL, но как в этом случае ручь в обратном порядке? Псевдокод добавлен в описание – arsalan

ответ

0

Не пытайтесь использовать функциональные возможности на бизнес-уровне. Это разрушение вашей структуры приложения. Вы должны думать только о одной связи. Не диалог. Например: View может вызывать логический уровень и возвращает результат. Затем AGAIN рассматривает логику в соответствии с результатом.

+0

Это означает, что вместо вызова VIEW из BLL DAL мне нужно сохранить некоторые проверки в VIEW на том, что возвращается нижними слоями. Весь мой код зависит от ответов, полученных более низкими уровнями. Я правильно понял? – arsalan

+0

Да. Ваш вид - это слой, на котором начинаются действия. Пользователь делает действие в пользовательском интерфейсе (уровень просмотра). Вы должны сделать некоторые проверки в пользовательском интерфейсе. Затем слой просмотра отправляет данные на бизнес-уровень. Бизнес-уровень также создает элементы управления в соответствии с запросом и связывается с DAL. DAL возвращает некоторые результаты, а бизнес-уровень возвращает данные для просмотра. Затем просмотр снова делает некоторые элементы управления и запрашивает другие данные из бизнес-уровня. Это цикл применения n-го уровня. Одностороннее общение. Если вы ссылаетесь на свою dll dll на бизнес или dal, вы, вероятно, ошибетесь. – ahmet

0

Вся идея многоуровневой архитектуры заключается в том, что слои непрозрачны, а слои выше зависят только от слоев ниже, а не наоборот, поэтому вы не должны иметь прямую зависимость от своего вида в своей компании (логический). Пользовательский интерфейс должен отправить запрос, а затем отреагировать на ответ вашего бизнес-уровня, возможно, через уровень обслуживания приложений. Как именно вы это делаете, и какой шаблон вы используете, MVVM, MVC, MVP - зависит от вашего технологического стека, поэтому, пожалуйста, поделитесь более подробной информацией.

Смежные вопросы