Програмчлалын C# хэл ( 134 )

Програмчлалын хэлүүдээс хамгийн өргөнөөр ашигладаг хэлүүдийн тоонд C хэл зүй ёсоор ордог. Тиймээс би энэ хэлний талаарх материалуудыг судласны үндсэн дээр энэхүү цуврал хичээлүүдийг бэлтгэлээ. Хичээлд C# хэлийг ашиглах болно. Хичээлийг илүү үр дүнтэй болгох үүднээс хичээлд C# програмчлалын хэлний бичлэгийн дүрэм, цикл, нөхцөлт оператор гэх мэтийн програмын үндсэн ухагдхууны талаар дэлгэрэнгүй авч үзэхгүй харин C# хэлний өөрийн гэсэн технологийн онцлог, хэлийг ашиглах практик ажиллагаа дээр илүү анхаарал хандуулах болно. Иймээс хичээлийг үзэхийн тулд та C# хэлний үндсэн мэдлэгтэй байх хэрэгтэй. Одоо програмчлалын хэлүүд бараг адилхан бичлэгийн дүрэмтэй болсон болохоор та заавал C# хэл гэлтгүй JAVA, C++ эсвэл PHP гэх мэт ОХП-ын аль нэг хэлийг мэддэг байхад жишээнүүдийг бүрэн ойлгох боломжтой. C# хэлний хэлний суурь мэдлэгийг авч болох ном материалууд номын дэлгүүр эсхүл интернетэд хангалттай байгаа. Програмын жишээнүүдийг хийхдээ Visual Studio 2015 боловсруулалтын орчинг ашиглах тул та компьютертаа програмыг суулгасан байх шаардлагатай.

Танд амжилт хүсье

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

Програмчлалын C# хэл дээр програм зохиох дадлага болгон хийж буй програмын ажиллагааг энэ хичээлээр бид хийж дуусгана. Хичээлийг үзэхийн өмнөх хичээлүүдийг үзэн програмыг хэрхэн зөв бүтцээр хийх талаар ойлгосон байх хэрэгтэй. Өмнөх хичээлүүдэд бид програмын бизнес логик, хэрэглэгчийн интерфейсийг үүсгээд байгаа. Одоо MVP хэвийн дагуу өмнөх хичээлд хийсэн хэсгүүдийн ажиллагааг зангидан холбох үүрэг бүхий Presenter хэсгийг боловсруулах юм.

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

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

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

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

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

Практикгүй онол бол хоосон зүйл гэж ярьдаг. Иймээс энэ хичээлээр .NET Framework -ийн стандарт сан WinForms -ийг ашиглан бүрэн хэмжээний програмыг зохиох болно. Хичээлийн зорилго бол өмнөх хичээлүүдэд үзсэн бүх аргчлалуудыг практикт хэрхэн ашиглахыг сурах юм. Эдгээрээс  интерфейсийг ашиглахыг түлхүү үзэх болно. Бидний зохиох програм бол энгийн текст засварлагч байх бөгөөд дараах зүйлсийг хийдэг байхаар боловсруулагдана.

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

Интерфейсийг ашиглах практик жишээ.

Та Интерфейс хичээлээс ОХП-д чухал байр суурьтай интерфейс гэсэн ойлголтын талаар үзэж тодорхой ойлголттой болсон гэж бодож байна. Иймд энэ хичээлээр интерфейсийг хаана ямар байдлаар ашиглахыг жишээ дээр авч үзэцгээе. Бидэнд мөрийн төрлийн Name, бүхэл тоон төрлийн Age талбар бүхий Student гэсэн бүтэц байлаа гэж бодъё.

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

Энэ хичээлээр бид ОХП-д томоохон байр суурийг эзэлдэг интерфейс гэдэг ойлголтыг авч үзэх болно. Сэдэв сонирхолтой, нарийн хэдий ч ойлгож чадна гэдэгт итгэлтэй байна. Ингээд интерфейс гэж юу болохоос эхлэе.

Интерфейс гэж юу вэ?

Интерфейсийн олон янзын тодорхойлолтууд байдаг. Jeffrey Richter өөрийн "CLR via C#" номондоо интерфейсийг аргуудын тодорхойлогчдын нэрлэсэн багц гэжээ. Тодорхойлолтыг ухан ойлгоцгооё. Делегат ба үйл явдал хичээлд үзснээр бол аргын тодорхойлогч /Signature/ гэдэг нь аргын нэр, түүнээс буцаах утгын төрөл, оролтын параметрын төрлийг агуулах хэв юм.

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

Бид өмнөх хичээлээр битүүмжлэгдсэн, статик классуудын талаар үзсэн. ОХП-д классууд чухал үүрэгтэй нь ойлгомжтой. Иймээс класуудын төрлүүдийг мэдээд зогсохгүй тэдгээрийг хаана хэрхэн ашиглахыг маш зөв ойлговол таны код цэгцтэй, ойлгомжтой, өөрчлөлт, шинэчлэл хийхэд уян хатан болдог. 

Програмчлалын аргачлал Singleton

Статик арга, классыг хэрхэн ашиглах жишээ болгоод Singleton гэдэг өргөн дэлгэрсэн програмчлалын  аргачлалыг авч үзье. Програм зохиогчдын дунд энэхүү аргачлалын талаар эерэг, сөрөг янз бүрийн үзэл бодлууд байдаг гэдгийг хэлэх нь зүйтэй.

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

ОХП-д классын тухай ойлголт чухал байр суурийг эзэлдэг. Иймээс классын төрлүүдийн талаар сайтар ойлгосон байх шаардлагатай. Хичээлээр бид битүүмжлэгдсэн, статик, абстракт классуудын талаар авч үзнэ. Классын эдгээр төрлүүдийг хөнгөнөөс нь хүнд рүү нь битүүмжлэгдсэн, статик, абстракт гэсэн дарааллаар судлана.

Битүүмжлэгдсэн буюу sealed класс

Классыг тэмдэглэх sealed түлхүүр үгийн орчуулга нь битүүмжлэгдсэн гэсэн байгаа юм. Орчуулга оновчтой болоогүй байж мэдэх тул sealed class гэсэн англи нэрээр нь тогтоон авбал илүү сайн. sealed түлхүүр үг юуг илэрхийлэх, хаана хэрхэн ашиглах вэ? Хэрвээ классыг sealed түлхүүр үгээр тэмдэглэсэн бол тэр эцэг класс болж болохгүй. Өөрөөр хэлбэл sealed классаас удамшуулж болохгүй. Иймээс удамшилтын гинж sealed түлхүүр үгээр тэмдэглэгдсэн класс дээр тасрах болно.

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

Обьект хандлагат програмчлал encapsulation - хайрцаглалт, inheritance - удамшилт, polymorphism - полиморфизм гэсэн гурван үндсэн зарчим дээр суурилдаг гэдгийг өмнөх хичээлүүдэд үзсэн. Энэ хичээлээр polymorphism - полиморфизм зарчмын талаар үзэх болно. Монголоор орчуулгад тохирох үгийг би олж чадаагүй. Полиморфизм гэдэг нь суурь классын ажиллагааны төлөв байдлыг хүүхэд класст өөрчлөхийг хэлнэ. Ойлгомжгүй байна уу. Гэхдээ үнэндээ бол тийм нарийн зүйл биш.

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

Онолын хувьд обьект хандлагат програмчлал гурван үндсэн зарчим дээр суурилдаг. Үүнд

  1. encapsulation - хайрцаглалт
  2. inheritance - удамшилт
  3. polymorphism - полиморфизм

ордог. Хайрцаглалт гэдгийг классын ажиллагааны логикийг бусад классуудаас хандалтын хэлбэрээр зохицуулан хаах гэж ойлгож болно. Өөрөөр хэлбэл бусад классуудад ашиглаж болох арга, шинжүүдийг public төрлийнх харин шинжид утга олгох, арга өөрөө ашиглах хувьсагчид гэх мэт бусад аргууд ашиглах шаардлагагүй хэсгүүдэд хандалтын private төрлийг тавих юм. Энэ тухай бид C# төрлийн бүрэлдхүүн хичээлд арга private төрлийн хувьсагчид хэрхэн хандахыг ойлгохдоо авч үзсэн.

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

 үүсвэр:

Өмнөх хичээлээр бид делегатын талаар тодорхой авч үзсэн. Энэ хичээлээр өмнөх хичээлд үзсэн зүйлүүдийг үргэлжлүүлэн үйл явдал гэдэг ойлголтыг авч үзнэ. Иймээс хичээлийн материалыг үзэхийн өмнө Делегат ба үйл явдал 1 хичээлийг сайтар судлан ойлгосон байх шаардлагатай.

Нэгдсэн /ерөнхийлөгдсөн/ делегат.

Дараах дохиолдолыг авч үзье. Бидэнд void (string) тодорхойлогчид тохирох аргад холбоотой CountDelegate гэсэн делегат байлаа гэж үзье. Яваандаа програмын ажиллагааны кодод void (string) тодорхойлогчид тохирох аргад холбоотой бас нэгэн TimesDelegate гэсэн делегат хэрэгтэй болох тохиолдол гарч ирэх бүрэн боломжтой. Ийм байдлаар 3 дахь 4 дэхь тохиолдлууд гарч болно.

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

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

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

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

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

X санамсаргүй хувьсагчийн магадлалын тархалт дараах хүснэгтээр өгөгджээ. Математик дундаж нь хэд вэ?

X 2 5 3 1
P 0,4 0,2 0,3 0,1

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

 

тоонуудаас аль нь рационал тоонууд вэ?

A. a,b,e   B. a,d,e   C. b,c,e   D. b,c,d   E. a,c,d

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

 

1,(3) аравтын үелэх бутархайг энгийн бутархай болго.

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