У меня есть класс библиотеки, который содержит два метода, скажем, Login () и NavigateToPage ().Теперь, чтобы перейти на страницу, необходимо войти в сеанс. Кроме того, чтобы войти, сначала нужно перейти на страницу входа.На данный момент мой обходной путь:
Login()
{
NavigateToPage(LoginPage);
// log in and do validation stuff.
// set IsLoggedIn to true for further methods (also for NavigateToPage() method.)
IsLoggedIn = true;
}
NavigateToPage (PageType pageType)
{
if (pageType == LoginPage)
{
// navigate to login page.
return;
}
if (! IsLoggedIn) Login();
// switch case for navigation to other page types.
}
Это своего рода psuedocode.Фактический код работал до сих пор, без каких-либо проблем.Тем не менее, я чувствую, что что-то не так, поскольку это выглядит циклично.Я думаю, что есть что-то, что можно сделать, чтобы улучшить код и убрать циклическую зависимость.Может кто-нибудь что-нибудь предложить?
Я собирался сделать вопрос и язык независимым от платформы.Но я вижу, что не могу это объяснить.В основном, страницы не зависят от моего класса.Библиотека, которую я разрабатываю, берет веб-сайт и просматривает его страницы.Я просто пытаюсь автоматизировать задачи на сайте.Итак, страница входа и другие страницы, о которых я говорю, находятся в контексте того сайта, который я хочу просмотреть.Библиотека автоматизирует этот просмотр.Я надеюсь, что теперь все ясно.