Делегатууд

Делегат нь аргыг заасан обьектоор илэрхийлэгдэнэ. Өөрөөр хэлбэл делегат гэдэг нь аргын заагч бөгөөд түүгээр тухайн аргыг дуудаж болно.

Делегатийн тодорхойлолт

Делегатийг зарлахдаа delegate түлхүүр үгийг ашиглах ба түүний араас буцаах төрөл, нэр, параметрүүд байрлана. Жишээ нь

delegate void Message();

Message делегатийн буцаах төрөл void (өөрөөр хэлбэл юу ч буцаахгүй) бөгөөд ямарч параметрийг авахгүй. Энэ нь Message делегат ямарч параметр авдаггүй бөгөөд юу ч буцаадаггүй дурын аргыг зааж болно гэсэн үг.
Message делегатийн хэрэглэгээг

Message mes;            // 2. делегатийн хувьсагчийг үүсгэх
mes = Hello;            // 3. хувьсагчид аргын хаягийг олгох
mes();                  // 4. аргыг дуудах

void Hello() => Console.WriteLine("Hello World");
delegate void Message(); // 1. делегатийг зарлах

үзүүлсэн дээрх кодийг авч үзье.

Материалыг тусгай эрхтэй хэрэглэгч үзнэ.

request_quoteТусгай эрх авах

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 155 Бүртгүүлэх

Абстракт үйлдвэр (Abstract Factory) хэв өөр хоорондоо холбоотой тодорхой интерфейстэй обьектуудын бүлгийг тухайн обьектуудын төрлийг заахгүйгээр үүсгэх боломжийг олгодог.

Хэвийг хаана ашиглах

  • Систем шинэ обьектын бүрдүүлэгч ба үүсгэх аргаас хамааралгүй байх хэрэгтэй үед
  • Үүсгэгдэж буй обьектууд өөр хоорондоо холбоотойн дээр хамтдаа ашиглагдах үед

  Нээгдсэн тоо: 2702 Төлбөртэй

Энэ хичээлээр бол C# хэл дээр програм зохиох жишээ хичээлийн үргэлжлэл юм. Програм зохиох жишээ 1 хичээлд бид програм юу хийх тухай техникийн даалгавар, бизнес логикийн кодыг бичсэн. 

Хэрэглэгчийн интерфейс

Одоо хэрэглэгчийн интерфейсээ хийцгээе. Үүний тулд TextEditor төслийн Form1.cs файлыг нээнэ. Файлыг Visual Studio төслийг үүсгэхдээ автоматаар оруулан ирдэг. Формын нэрийг ойлгомжтой болгох үүднээс MainForm.cs болгон өөрчилье. Visual Studio хувилбараас хамаараад TextEditor төслийн Program.cs файлын Program класст Application.Run(new MainForm()); өөрчлөлтийг хийх хэрэгтэй болж мэднэ. Интерфейстэй ажиллахын тулд ажлын хэсгийг доорх зурагт үзүүлснээр зохион байгуулъя.

  Нээгдсэн тоо: 216 Нийтийн

Стратег (Strategy) нь тус тусдаа хайрцаглагдан тэдгээрийн бие биеэ орлолтыг хангасан алгоритмын багцыг тодорхойлох загварчлалын хэвийг илэрхийлнэ. Нөхцөл байдлаас шалтгаалан ашиглагдаж буй алгоритмыг тухайн алгоритмыг хэрэглэж байгаа обьектоос хамааралгүйгээр өөрөөр амархан сольж болдог.

Хэвийг хаана ашиглах  

  • Төлөв байдлаараа ялгаатай нэг төрлийн хэдэн классууд байх үед нэг үндсэн классыг өгөөд төлөв байдлын өөр хувилбаруудыг тусдаа классуудад гаргаад шаардлагатай үед тэдгээрийг хэрэглэх.
  • Нөхцлөөс хамааран алгоритмын хувилбаруудаас амархан сонголт хийх боломжийг хангах хэрэгтэй үед.
  • Програм ажиллах явцдаа обьектуудын төлөв байдлыг өөрчлөх шаардлагатай үед
  • Тодорхой ажиллагааг ашиглаж буй класс түүний хэрэгжүүлэлтийн талаар юуг ч мэдэх ёсгүй үед

  Нээгдсэн тоо: 155 Төлбөртэй

Үйлдвэрийн арга (Factory Method) хэв нь ямар нэгэн классын обьектыг үүсгэх интерфейсийг тодорхойлдог. Гэхдээ яг ямар классын обьектыг үүсгэх шийдлийг дэд класс шууд гаргадаг. Өөрөөр хэлбэл суурь класс хүүхэд классуудад обьект үүсгэхийг дамжуулахыг энэхүү хэвээр хийдэг.

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

Нээгдсэн тоо : 122

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 179

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 188

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 203

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 193

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 282

 

Хуваах нь нэг тоо нөгөө тоонд хэдэн удаа агуулагдаж буй тодорхойлох арифметикийн үйлдэл.
Хуваалтыг нэг бус удаа…

Нээгдсэн тоо : 215

 

Зуучлагч (Mediator) нь олон тооны обьектууд бие биетэйгээ холбоос үүсгэхгүйгээр харилцан ажиллах боломжийг хангах загварчлалын хэв юм. Ингэснээр…

Нээгдсэн тоо : 211

 

Делегатууд хичээлд ухагдхууны талаар дэлгэрэнгүй үзсэн ч жишээнүүд делегатийн хүчийг бүрэн харуулж чадахааргүй байсан.…

Нээгдсэн тоо : 214

 
Энэ долоо хоногт

a - гийн ямар утгуудад тэгшитгэлийн шийдүүд сөрөг утгатай байх вэ?

Нээгдсэн тоо : 1775

 

тэгшитгэлийг бод.

Нээгдсэн тоо : 1339

 

тэгшитгэлийг бод.

Нээгдсэн тоо : 142