Jak się ma klasa HttpWebRequest do klasy WebRequest? Na MSDN-ie jest napisane, że HttpWebRequest "provides an HTTP-specific implementation of the WebRequest class". Dlaczego więc powstała? Czy chodzi o ułatwienie wysyłania zapytań po HTTP?
0
1
Patrzac na MSDN mozna zauwazyc, ze klasa WebRequest jest klasa bazowa nie tylko dla klasy HttpWebRequest, ale takze dla:
System.IO.Packaging.PackWebRequest
System.Net.FileWebRequest
System.Net.FtpWebRequest
Mozna sie wiec domyslac, ze ktos kto to zaprojektowal chcial:
- miec pewien wspolny interfejs obslugi klas pochodnych, choc niekoniecznie wspolna implementacje. Innymi slowy: wywolujesz pewna metode/wlasciwosc i sie nie przejmujesz jak ona dziala, liczy sie bardziej efekt.
- miec pewien kod wspolny dla wszystkich klas pochodnych a jednoczesnie miec mozliwosc rozszerzenia klasy o dodatkowe metody/wlasciwosci itp. W klasie HttpWebRequest posiadasz np. wlasciwosc Accept, ktora sugeruje ze za jej pomoca mozesz odczytac naglowek Accept protokolu HTTP. W klasie FtpWebRequest takiej mozliwosci nie masz bo jest niepotrzebna/nieobslugiwana.
1
Klasa HttpWebRequest
jest potomkiem WebRequest
i powstała w celu umożliwienia prostszego wywoływania zapytań HTTP (bo to nie jedyny protokół jaki może byś użyty do komunikacji w internecie). Czyli tak, ma ułatwić zapytania HTTP.
0
Dzięki za wyjaśnienie, to mi wystarczy wiedzieć :)