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

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

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

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

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

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

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

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

Виртуал аргууд, шинжүүд хичээлд виртуал аргуудыг тодорхойлох, дахин тодорхойлохыг үзсэн. Суурь классаас өвлөн авсан функцтоналуудыыг өөрчлөх өөр арга бол нуух (shadowing / hiding) юм. Арга, шинжүүдийг нуух нь үнэндээ суурь классийн арга эсхүл шинжүүдтэй нэр, параметрүүдийн багцаар тохирох арга, шинжийг удамшсан класст тодорхойлох юм. Классийн гишүүнийг нуухдаа new түлхүүр үгийг хэрэглэдэг.

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

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

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

Удамшуулалтад суурь классаас өвлөн ирсэн аргын ажиллагааг удамшсан класст өөрчлөх хэрэгцээ ихээр гардаг. Энэ тохиолдолд удамшсан класст суурь классийн арга, шинжүүдийг дахин тодорхойлж болдог.
Удамшсан класст дахин тодорхойлж болох арга, шинжүүдийг суурь класст virtual модификатороор тэмдэглэнэ. Ийм арга, шинжүүдийг виртуал гэж нэрлэдэг. Удамшсан класст эдгээр аргуудыг дахин тодорхойлохдоо override модификаторийг ашиглана.

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

C# нь хатуу төрөлжилттэй хэл тул програмийн кодод ашиглагдаж буй бүх хувьсагчдийн төрлийг заавал тодорхойлосон байх шаардлагатай. Энд төрлүүдийн хувиргалт ухагдхуун маш чухал үүрэгтэй. Төлвүүдийн хөрвүүлэлтийн логикийг ойлгоогүйгээс үүдэн програмийн ажиллагааны явцад алдаа гарах явдал цөөнгүйн дээр ийм төрлийн алдааг илрүүлэхэд нилээд хүндрэл үүсэх талтай. Иймд хэлний онцлогийг зөв ойлгон эзэмшихийг зөвлөе.
Бид Суурь өгөгдлийн төрлүүдийн хөрвүүлэлт хичээлд энгийн төрлүүдийн обьектийн хувиргалтыг үзсэн. Одоо классийн обьектуудын хувиргалтыг авч үзье.

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

Загварчлалын зарчмуудын нэгээр классуудын багцуудыг үүсгэхдээ тэдгээрийн тодорхой хэрэгжүүлэлтийн бус харин интерфейсүүдийн түвшинд загварчлах хэрэгтэй гэж үздэг. Энэ тохиолдолд интерфейс гэдэгт зөвхөн interface гэсэн түлхүүр үгээр тодорхойлогдсон C# хэлний төрлийг ойлгохоос гадна ямар нэгэн тодорхой хэрэгжүүлэлт байхгүй функционал боломжуудын тодорхойлолтыг ойлгох хэрэгтэй. Өөрөөр хэлбэл энэхүү тодорхойлолтод интерфейсүүд болон тодорхой хэрэгжүүлэлт байхгүй абстракт аргуудтай байж болох абстракт классууд ч хамрагдсан гэсэн үг.

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

Удамшилт (inheritance) бол ОХП -ийн үндсэн ойлголтуудын нэг. Удамшилтаар нэг класс өөр классийн ажиллагаануудыг өвлөх /дамжуулан авах/ боломж бүрддэг. Бидэнд хүнийг тодорхойлох

class Person
{
    private string _name = "";
 
    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }
    public void Print()
    {
        Console.WriteLine(Name);
    }
}

Person класс байлаа гэе. Гэтэл бидэнд компаний ажилтанг тодорхойлох Employee класс хэрэгтэй боллоо гэж үзье. Компаний ажилтан хүн учраас Employee класс Person классийн хийдэг үйлдлүүдийг хийх болно.

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

Хэвүүдийг /паттерн/ судлахын өмнө обьект хоорондын үндсэн харилцааг ойлгосон байх нь асуудлын ухагдхуун хоорондын холбоог ойлгон тэдгээрийг хэвүүдэд ашиглахад танд туслана. Обьект хоорондын харилцаанаас удамшилт /inheritance/ , хэрэгжүүлэлт /implementation/, ассоциац /association/, композиц /composition/, агрегац /aggregation/ гэсэн үндсэн харилцаануудыг онцолж болно.

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

Төрөл бүрийн класс, структуруудад хуурамч нэрийг /төлөөлөх нэр/ өгөөд дараа нь програмд төрлийн нэрийн оронд төлөөлөх нэрийг ашиглаж болно. Жишээ нь консолд мөр гаргах Console.WriteLine() аргын Console класст төлөөлөх нэрийг

using printer = System.Console;

printer.WriteLine("Монгол улс");
printer.WriteLine("Улаанбаатар хот");

өгч болно.

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

Хичээлээр анх IBM боловсруулан гаргасан Model View Presenter (MVP) - хэвийн талаар үзнэ. MVP нь MVC загвараас үүдэлтэй боловч програмын зохион байгуулалт талаасаа нилээд өөр хандлагатай. MVP паттерн MVC -г бодвол үзүүлбэр моделтой нягт холбоогүй байдаг онцлогтой. Доор зурагт MVP хэвийн бүтцийг харууллаа.

patt_04_01

Зургаас харахад контролерын оронд Presenter орж ирэн хэрэглэгчийн оруулсан өгөгдлийн шилжилт, загварын өөрчлөлтийг үзүүлбэрт тусгах үүргийг хариуцах болсон нь харагдана.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

тэнцэтгэл биш хэдэн бүхэл тоон шийдтэй вэ?

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

 

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

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

 

b1=3, bn=96, Sn=189 геометр прогресийн 8-р гишүүнийг ол.

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