Abdrimov A


Obyektga yo’naltirilgan dasturlash(OOP)


Download 0.73 Mb.
bet14/21
Sana10.03.2023
Hajmi0.73 Mb.
#1257361
1   ...   10   11   12   13   14   15   16   17   ...   21
Bog'liq
C dasturlash tilini orgatuvchi elektron qollanma yaratish

Obyektga yo’naltirilgan dasturlash(OOP)
Xozirgi ishlatilayotgan dasturlash tillarining deyarli barchasida OOP ga asoslangan. Unda Structura, Interface va Class lardan foydalaniladi. Bularning hammasi qo’yilgan muammoli masalalarni hal qilish uchun ishlatiladi.
Structuralar asosan Malumotlarni saqlash uchun ishlatiladi. Masalan:
struct Student
{
public int Ball;
public int Age;
public String Name;
}
Bularning ishlatiladigan sohalariga bir ikkida misollar aytib o’tamiz

  1. Dasturda ko’p thread lardan foydalanganda va shu thread lar orqali bir biriga tinimsiz ma’lumot almashganda kerak bo’ladi.

  2. Ko’pgina operatsion Sistemalarida ishlash uchun yaratilgan biblatekalardan foydalashishda ma’lumotlar structuralar orqali almashinadi. Misol uchun C va C++ dasturlash dillarida yozilgan .dll formatdagi biblatekalarni ishlashda va boshqa ko’plab misollar keltirish mumkin.

Structuralarni yana quyidagi ko’rinishda xam ishlatish mumkin.
struct Data
{
int _value;
public void CreateData(int value)
{
_value = value;
}
public int getValue()
{
return _value;
}
}
Misol :
using System;
using System.Collections.Generic;
using System.Text;
namespace MyStructure
{
struct Student
{
public byte Ball;
public byte Age;
public String Name;
public DateTime date;
}
class Program
{
static void Main(string[] args)
{
Student[] DataOfStudents = new Student[10];
for (int Index = 0; Index < 10; Index++)
{
DataOfStudents[Index].Age =Convert.ToByte( Console.ReadLine());
DataOfStudents[Index].Ball=Convert.ToByte(Console.ReadLine());
DataOfStudents[Index].Name = Console.ReadLine();
DataOfStudents[Index].date =Convert.ToDateTime( Console.ReadLine() );
}
foreach(Student obj in DataOfStudents)
{
Console.WriteLine("Name = " + obj.Name);
Console.WriteLine("Age = " + obj.Age);
Console.WriteLine("BirthDay = " + obj.date);
Console.WriteLine("Ball = " + obj.Ball);
}
}
}
}
Class (sinf) lar esa Structuraga o’xshash lekin anchagina takomillashtirilgan va ular ustidagi amallar anchagina oshirilgan C++ dasturlash tilidagi structura va class bilan C# dagi structura va class lar bir biriga deyarli o’xshash lekin C# dasturlash tilida har bir class uchun bitta va faqat bitta otasi boladi xalos. C++ da esa class otalari bir qancha bo’lishi ham mumkin. Shu kamchilikni to’ldirish maqsadida C# dastrulash tiliga Interface kalit so’zi kiritilgan va class ning otalari sifatida xoxlagancha Interface larni ko’rsatish mumkin.
Interface lar asosan ma’lumotlarning(funksiyalarning va o’zgaruvchilarning ) ko’p takrorlanib yozilishini oldini olish uchun va bir nechta yaratilga Interface Bolalarini Bitta O’zgaruvchiga o’zlashtirib kerakli ishlarni amalga oshirish uchun.
Class yaratilganda eng kamida unda bitta Konstructor va Desctructor albatta bo’ladi. Agar uni siz yaratmasangiz uni kompilyatorning o’zi albatta yaratadi. Agar o’zingiz yaratmoqchi bo’lsangiz quyidagicha yaratiladi.
using System;
using System.Collections.Generic;
using System.Text;
namespace FirstClass
{
class Program
{
class Student
{
public Student()
{
Console.WriteLine("Parametr qabul qilmaydigan ichi bo'z constructor ");
}
public Student(String Name)
{
Console.WriteLine("Parametr qabul qiladigan constructor ");
}
~Student()
{
Console.WriteLine("Desctrutor");
}
};
static void Main(string[] args)
{
Student s = new Student();
}
}
}
Web sahifalar yaratish
Microsoftning .Net bo’lim tashabbusi bilan Asp ning yangi versiyasi Asp.netni ishlab chiqishdi. U ishlash modelining qulayligi bilan dasturchilarga ma’qul tushdi. Asp.Netda ko’pgina yangi funksiyalar yaratildi va “klassik Asp”dagi funksiyalar esa takommillashtirildi. Asp.net bu Aspdagi metodologiyasini eslatsada, o’ziga hos hususiyati bilan Aspning yangi versiyasi, balki yangi mahsulot ham hisoblanadi.
Asp.netda ko’pgina yahshilanishlar uning ishlash muhitida boshlang’ich ma’lumot bilan ishlashning qulayligi bilan izohlanadi.
Asp.net bilan Asp dagi ilovalarga ishlov berish bir hil bo’lsada, ularning ishlashidagi yashirin mehanizimlari baribir farq qiladi. Asp.netdagi boshlang’ich sahifani interpretatsiya qilish o’rniga foydalanuvchilarning har bir murojatida MSIL formatiga o’tkazish yo’li bilan kompelyatsiya qilinadi. Sahifani MSILda kompelyatsiya qilgandan so’ng GIT kompelyator MSILni moshina tiliga o’tiradi.
Web ilovalarning ishlash prinspi
Web ilova bu Visual Studio .Net va Microsoft ASP.Net yordamida internet ilovalardir.
Web ilovalar – bu serverda ishlab, klientga ma’lumotlarni uzatuvchi ilovalardir. Ularning ishlashi uchun brouzerlar talab qilinadi.Web ilovalar klient - server arhitekturasidan foydalanadi, hususan web ilova serverda joylashib, Internet orqali ko’p sonli foydalanuvchilardan kelayotgan so’rovlarni qayta ishlaydi.
Klient tomonidan esa web ilova brouzerda ishlaydi. Web ilovalarning foydalanuvchi interfeysi klient moshinalarga brouzer interpritatsiya qiladigan va bizga ko’rinadigan HTML sahifalar tarzida uzatadi.
Server tomonidan web ilova IIS() nazorati ostidaishlaydi. IIS ilovani ishlashini nazorat qiladi, unga klient so’rovlarini uzatadi va klientlarga qayta ishlash natijalarini uzatadi. So’rovlar hamda ularning bajarilishi natijalari Internet orqali http protokoli orqoli uzatiladi.
Protokol – bu ikki yoki undan ortiq kompyuterlar orasidagi aloqalarni amalgam oshiruvchi qoidalar to’plami. Web ilovalar an’anaviy web saytlarni eslatsada, ammo ulardan farqli ravishda serverda joylashgan static ma’lumotlarni amalgam oshirmay, balki kodlar yordamida kayta ishlovchi static ma’lumotlarni uzatishni amalgam oshiradi.
ASP.Net imkoniyatlari
Web ilovalarning bajariluvchi qismi static web saytlar bajara olmaydigan ko’pgina vazifalarni bajarishi mumkin, ular:

  • foydalanuvchilardan ma’lumotlarni qabul qilib, uni serverda saqlash;

  • foydalanuvchi uchun turli hil harakatlarni amalgam oshirish;

  • buyurtmalarni joylashtirish,hisoblash ishlarini bajarish va MBdan ma’lumotlarni o’qib olish;

  • foydalanuvchini tanib olish va moslab sozlangan interfeysni namoyish etish;

  • doimiy o’zgarib turuvchi, masalan qayta ishlanayotgan buyurtmalar yoki o’chirib tashlangan mahsulotlar haqida ma’lumotlarni saqlab turadi;

ASP.Net muhitida ishlayotgan dasturchilarga .Net Fromeworkning barcha imkoniyatlariga to’la ruxsat beriladi.
C# tili .Net Fromework bilan birgalikda yahshi dasturchilar qilishi mumkin bo’lgan barcha ishlarni bajara oladi.
ASP.Netning avfzalliklari
ASP.Net web ilovalarni shakillantirish uchun qo’llaniladigan boshqa platformalarga nisbatan qator afzalliklarga ega.
Ulardan eng muhimi Windows Serverlar va dasturlash vositalari bilan moslashishi mumkin.
ASP.Net qo’llanilishi Web ilovalarni ishlab chiqarish, tahrirlash va ularni barcha masalalarni yagona Visual Studio .Netda bajarish imkoniyati mavjud.
Quyida web ilovalarni ishlab chiqaruvchilarga ASP.Net beradigan qulayliklar keltirilgan:

  • web ilovalarning interpretatsiya qilinadigan senariylarga nisbatan tezroq ishlashiga olib keluvchi bajariluvchi qisimlarni kompelyatsiya qilish;

  • ishga tushirilgan web sahifalarni serverni qayta ishga tushirishsiz yangilash;

  • API Windows imkoniyatlarini to’ldiruvchi .Net Fromework infrostrukturasiga kirish;

  • Hozirda OYDT hisoblanuvchi Visual Basic hamda C tilining yangi takomillashtirilgan turi Visual C# ning qo’llash imkoniyati;

  • Web ilovalarning boshqarish elementlarining holatini avtomatik boshqarish;

  • Mavjudlari asosida yangi va nostandart server boshqarish elementlarini elementlarini yaratish imkoniyati;

  • Windows serverlarga o’rnatilgan himoyalash mehanizmlari hamda autentifikatsiya va avtorizatsiya qilishning boshqa usullari yordamida web ilovalarning havfsizligini ta’minlash;

  • MBga ruhsat olishni ta’minlovchi hamda Visual Studio .Netda turib MBni yaratish vositalarini qo’llash imkoniyatini beruvchi ADO.net bilan moslashuvchanligi;

  • HTML tilini, stillarning kaskad jadvali CSS, hamda webning boshqa yangi standartlari bilan to’la ishlay olish qobilyati;

  • Brouzer imkoniyatini aniqlash, hamda ko’p murojat qilinadigan sahifalarni serverda keshlash imkoniyati.

ASP.Net kamchiligui
ASP.Net Web ilovalarni ishlab chiqarishning to’la platformasi hisoblansada, u faqat IIS mavjud bo’lgan Windows serverlardagina ishlay oladi. IISni talab qilmaydigan hamda boshqa operatsion tizimlar boshqaruvi ostida ishlaydigan serverlarda ishlovchi web ilovalarni yaratish uchun odatda CGI tehnologiyasidan foydalaniladi.
Web ilovalarning hayotiy sikli
Web ilova kamida bitta faol seans mavjud bo’lsa, hayot hisoblanadi.Web formaning hayotiylik sikli esa deyarli bir onni tashkil qiladi, web ilovalaning hayoti brouzer uning bosh sahifasini chaqirgan vaqtdan boshlanadi. Bu yerda ilovaning bajariluvchi qismi dllni ishga tushiruvchi web server yoqiladi. Web ilovaning bajariluvchi qismi so’ralgan web formaning nushasini yaratadi, keyin html matnni yaratadi va brouzerga yuboradi, keyin dll o’zi tamonida yaratilgan web formani nushasini o’chiradi.
Ilova tomonidan yaratilgan html kod brouzer tomonidan olingandan so’ng foydalanuvchi, toki formani serverga yuboradigan hodisani ishga tushirmaguncha, formadagi matnli maydonlarni to’ldirilishi hamda harakatli amallarni bajarilishi mumkin. Bu hodisa brouzerni sahifadagi ma’lumotlarni serverga server hodisalarni qayta ishlash uchun yuborishga mavjud qiladi.
Ko’rinish holatini olgandan so’ng server web formani yangi nushasini yaratadi, uni ko’rinishlar holati ma’lumotlari bilan to’ldiradi va barcha hodisalarni qayta ishlaydi.
Qayta ishlashni tugatgandan so’ng, server natijada hosil qilingan html kodni brouzerga qaytaradi va u tomonidan yaratilgan web formaning nushasini o’chiradi. Quyida hodisalar jadvali keltirilgan

Qayta ishlash nomi

Bajariluvchi kod

Page_Int



Web formani yuklanish holatidan
foydalangan holda server boshqaruv
elementlari yuklanadi va aniqlanadi.
Bu web forma hayotining birinchi
bosqichi.

Page_Load




Page_PreRender




Page_Vnload

Oynaning hotiradan o’chirilishida

Page_Error




Page_AbortTransaction

Tranzaktsiya bekor qilinganda

Page_CommintTransaction

Tranzaktsiya aniqlanganda

Page_DamBinding

Oynada joylashgan server boshqaruv elementining ma’lumotlar manbasiga ulanganda

Page_Disposed

Page ob’ekti bo’shatilishi. Bu Page hayot siklining songi hodisasi

Application va Session
Application va Session ob’eklari hodisalarini qayta ishlovchi kod global.asax faylida saqlanadi. Application hodisalari web ilovaning barcha joriy seanslari ko’ra oladigan ob’ekt va ma’lumotlarga boshlang’ich qiymat berish uchun qo’llaniladi.Session hodisalari bitta seans davomida saqlanadigan va boshqa seanslarda ko’rinmaydigan ma’lumotlarga boshlang’ich qiymat berish uchun hizmat qiladi. Quyida Application hodisalarining turli xil chaqirilish holatlaridagi qayta ishlovchilari keltirilgan.

Ism

Chaqiriladi qachonki

Application_Srart

Birinchi foydalanuvchi web ilovani boshlang’ich oynasini ochganda

Application_End

Ilova bilan hech kim ishlamagan paytda

Application_Begin Request

Serverga har bir so’rov yuborilganda.Brouzer ihtiyoriy birorta oynani ochgan paytda, so’rov bajariladi.

Application_End Request

Serverga jo’natilga har bir so’rovning ohirida.

Session_Start

Yangi foydalanuvchi ilovaning bosh sahifasini ochganda

Session_End

Foydalanuvchi ilovadan chiqib ketganda, brouzer o’chirilganda yoki harakatsiz holat tufayli timeout sodir bo’lganda.

Web Forms ilovalarida seans brouzerning qaytarilmas nushasini o’zida aks ettiradi. Agarda foydalanuvchi kompyuterida bir necha brouzer oynalari ishga tushsa va ularning har birida web ilova sahifalarini ochsa, brouzerning har bir nushasi uchun alohida seans yaratiladi.

Download 0.73 Mb.

Do'stlaringiz bilan baham:
1   ...   10   11   12   13   14   15   16   17   ...   21




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling