Нэмэлт урсгалд үүссэн алдааг боловсруулах.

Нэмэлт урсгалтай ажиллах аргачлалын талаарх ээлжит хичээлийг толилуулъя. Та програм хангамжийн чиглэлээр ажилладаг эсхүл суралцдаг бол сайтын C# хэлний хичээлүүдийг бүгдийг үзэхийг зөвлөе. Учир нь C# хэлэнд оруулан өгсөн технологиудийн утгыг сайн ойлгохгүйгээр програм бичнэ гэвэл нилээд хүндхэн асуудал үүснэ шүү. Програмчлалын хэлүүдийн бичлэгийн ерөнхий дүрэм бараг ижилхэн болсон хэдий ч онолын үндсэн аргачлал, технологийг хэл бүр өөрийн онцлогоор хэрэгжүүлсэн байдаг. Иймээс технологийг ойлгохын тулд тухайн хэлийг гүнзгий судалсан байх хэрэгтэй. Технологийг сайн судлаагүй хүмүүс хэлэнд өөрт нь байдаг боломжуудыг өөрсдөө хэрэгжүүлэх гэж цаг хугацаа, хүч хөдөлмөрөө ихээр үрдэг ч үр дүн нь мэдээжээр сайнгүй гардаг гэдгийг санаарай. Хичээлээр нэмэлт урсгалын нэмэлт урсгалд гарсан алдааг хэрхэн зөв боловсруулахыг авч үзье.

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

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

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

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

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

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

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

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

Хэрвээ системийн өөрийн дотоод онцгой нөхцлийн төрлүүд тохиромжгүй бол бид өөрсдөө төрлүүд үүсгэж болно. Бүх онцгой нөхцлийн суурь класс Exception учраас өөрийн төрлийг үүсгэхдээ бид энэ классаас удамшуулна.  
Жишээ нь манай програмд насны хязгаарлалт байлаа гэе.

try
{
    Person person = new Person { Name = "Tom", Age = 17 };
}
catch (Exception ex)
{
    Console.WriteLine($"Алдаа: {ex.Message}");
}
 
class Person
{
    private int age;
    public string Name { get; set; } = "";
    public int Age
    {
        get => age;
        set
        {
            if (value < 18)
                throw new Exception("18 нас хүрээгүй бол бүртгэл хаалттай");
            else
                age = value;
        }
    }
}

Person классийн age шинжид утга олгохдоо шалгалт хийн нас 18 -аас бага бол онцгой нөхцлийг үүсгэнэ.

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

Өмнөх хичээлүүдэд int, byte, double, string, object гэх мэтийн өгөгдлийн төрлүүдийг үзсэн. Үүний зэрэгцээ структур, тооллого /enum/, класс зэрэг нарийн төрлүүдийг ч үзсэн. Энэ бүх төрлүүдийг утгын төрлүүд (утгатай төрлүүд ч гэж бас нэрлэдэг) (value types) ба холбоосын төрлүүд (reference types) гэсэн ангилалд хувааж болно. Эдгээрийн ялгааг ойлгох нь чухал.

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

Боловсруулагчид C# дээр програм зохиохдоо голдуу Visual Studio эсхүл ямар нэгэн JetBrains компаний Rider мэтийн IDE (integrated development environment) боловсруулалтын хэрэгслийг ашигладаг. Гэхдээ бүхий л IDE -нууд боловсруулалтын ажиллагааг хөнгөвчилж өгдөг ч програм үүсгэх ажиллагааны олон жижиг зүйлүүдийг цаанаа хийдэг. Үнэн хэрэгтэй бид зөвхөн .NET CLI -ийн боломжийг ашиглан боловсруулалтын орчингүйгээр ажиллах боломжтой.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

тэгшитгэлийн хувьд утгыг ол

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

 

тэгшитгэлийн хамгийн их сөрөг язгуурыг ол.

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

 

тэнцэтгэл b -ийн ямар утганд биелэх вэ?

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