Loading...
butoff avatar butoff 33 Точки

Инстанциране на нов клас в същия клас. Кога и защо?

От упражнението за създаване на Web Sever 

Някой може ли да разясни, защо се ползва този начин на записване. Авторът така го е записал и Кенов така го записа.

Създава се инстанция и тогава се вика нейния метод Run(), вместо да се извика директно от Main.

public class Launcher : IRunnable
    {
        public static void Main()
        {
            new Launcher().Run();
        }

        public void Run()
        {
            var mainApplication = new GameStoreApp();
            mainApplication.InitializeDatabase();

            var appRouteConfig = new AppRouteConfig();
            mainApplication.Configure(appRouteConfig);

            var webServer = new WebServer(1337, appRouteConfig);

            webServer.Run();
        }
    }

И друг въпрос - защо се слага интерфейс на стартиращия клас (този клас с Main метода)?

Изглежда излишно.

1
C# Web Development Basics
Sanity avatar Sanity Trainer 194 Точки

Идеята на Web Server-а и Framework-а, които ще построяваме през курса, са да мимикрират държавния Framework на технологията (ASP.NET).

В ASP.NET Core, принципно се използва статичен Builder Method, който се извиква в Main метода, връщайки Host обект, който се Run-ва. https://docs.microsoft.com/en-us/aspnet/core/fundamentals/startup?view=aspnetcore-2.0

Не е въпрос на Pattern а до максимално приближение до това как трябва да изглежда на края. Ако искате можете да го рефакторирате. Въпроса е, че най-вероятно няма да сте консистентни със Server-а който се създава по време на лекциите. Принципно няма проблем за такива структурни промени, стига да не повлиаят на поведението на Server-а.

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.