ტრენდულ დიზაინის შაბლონები C#-ში: თეორიიდან პრაქტიკამდე
ისწავლეთ GoF-ის კლასიკური დიზაინის შაბლონები C#-ში. გამოიყენეთ პოროჟდაიანი, სტრუქტურული და ქცევითი შაბლონები სუფთა და მოქნილი არქიტექტურის შესაქმნელად.
Oleksii Anzhiiak
სოფტვეარ არქიტექტორი, უფროსი .NET ინჟინერი და თანადამფუძნებელი
კურსის ბოლოს თქვენ შეძლებთ
- დიზაინის შაბლონების სწორი გამოყენება
- legacy კოდის გაუმჯობესება
- ზედმეტი აბსტრაქციის თავიდან აცილება
- არქიტექტურული გადაწყვეტილებების ახსნა
- C# პროექტების მხარდაჭერის გაუმჯობესება
გერგებათ ეს კურსი?
ეს თქვენთვისაა, თუ თქვენ…
- C#-ზე წერ პროფესიონალურად და code review-ში მუდმივად გესმის „მუშაობს, მაგრამ ცუდად გაფართოვდება" — გინდა გაიგო რას ნიშნავს ეს რეალურად
- ხარ Mid ინჟინერი, რომელსაც უკვე ავალებენ მოდულების დიზაინს, და გჭირდება ლექსიკა იმ კომპრომისებისთვის, რომლებსაც ინტუიციით აკეთებ
- ერთხელ წაიკითხე GoF, არაფერი გამოიყენე და გინდა ბოლოს და ბოლოს „დაჯდეს" თავში
არ აიღოთ ეს კურსი, თუ…
- ახალი ხარ C#-ში — შაბლონები აზრს ვერ გამოიღებენ ენის საფუძვლების გარეშე (კურსი #1)
- ფიქრობ, რომ „გამოიყენე შაბლონი სადაც შეიძლება" კარგი რჩევაა — ეს კურსი გაგაცრუებს, რადგან ნახევარს ვუთმობთ იმის ახსნას, როდის არ უნდა გამოიყენო
- გინდა დაიზეპირო — კონტექსტის გარეშე დასწავლილი შაბლონები ხდება cargo-cult კოდი, რომლის გამოსწორებლად შაბლონებიც გამოიგონეს
ვინ კითხულობს
Oleksii Anzhiiak
სოფტვეარ არქიტექტორი, უფროსი .NET ინჟინერი და თანადამფუძნებელი
ოლექსი ანჟიაკი — სოფტვეარ არქიტექტორი, უფროსი .NET ინჟინერი და ToyCRM.com-ისა და ProfectusLab-ის თანადამფუძნებელი. 15+ წლიანი გამოცდილებით, ის სპეციალიზირდება განაწილებულ სისტემებში, cloud ინფრასტრუქტურაში, მაღალი დატვირთვის backend-ში და იდენტობის პლატფორმებში. ქმნის უსაფრთხო ავტენტიფიკაციის სისტემებს, არქიტექტურულ გადაწყვეტებს და თანამედროვე საგანმანათლებლო პროგრამებს, რომლებიც სტუდენტებს კარიერულ წინსვლაში ეხმარება.
ამჟამად ხელმძღვანელობს ToyCRM.com-ის არქიტექტურას — multi-tenant CRM პლატფორმას .NET-ზე, რომელსაც ჩვენი გუნდი აშენებს. იგივე პატერნები და დიზაინ-გადაწყვეტილებები, რომლებიც იქ გამოიყენება, პირდაპირ ჩნდება კურსებშიც: identity & auth, განაწილებული სერვისები, code review-ის კულტურა. სწავლობ ინჟინრებთან, რომლებიც აქტიურად უშვებენ production-კოდს, არა სახელმძღვანელოდან.
სილაბუსი
კურსი მოიცავს შემდეგ დიზაინის შაბლონებს, დაყოფილს პოროჟდაიან, სტრუქტურულ და ქცევით კატეგორიებად:
- 1 მოდული 1: პოროჟდაიანი — Abstract Factory
- 2 მოდული 2: პოროჟდაიანი — Builder
- 3 მოდული 3: პოროჟდაიანი — Factory Method
- 4 მოდული 4: პოროჟდაიანი — Prototype
- 5 მოდული 5: პოროჟდაიანი — Singleton
- 6 მოდული 6: სტრუქტურული — Adapter
- 7 მოდული 7: სტრუქტურული — Bridge
- 8 მოდული 8: სტრუქტურული — Composite
- 9 მოდული 9: სტრუქტურული — Decorator
- 10 მოდული 10: სტრუქტურული — Facade
- 11 მოდული 11: სტრუქტურლი — Flyweight
- 12 მოდული 12: სტრუქტურული — Proxy
- 13 მოდული 13: ქცევითი — Chain of Responsibility
- 14 მოდული 14: ქცევითი — Command
- 15 მოდული 15: ქცევითი — Interpreter
- 16 მოდული 16: ქცევითი — Iterator
- 17 მოდული 17: ქცევითი — Mediator
- 18 მოდული 18: ქცევითი — Memento
- 19 მოდული 19: ქცევითი — Observer
- 20 მოდული 20: ქცევითი — State
- 21 მოდული 21: ქცევითი — Strategy
- 22 მოდული 22: ქცევითი — Template Method
- 23 მოდული 23: ქცევითი — Visitor
წინაპირობები
კომპიუტერთან მუშაობის ძირითადი უნარები და სწავლის სურვილი. სასწავლო მასალები თქვენ ნაბიჯ-ნაბიჯ გაიძღვება.
საჭიროა C#-ზე პროგრამირების კარგი ცოდნა და ოოპ-ის პრინციპების გაგება.
რას ააშენებთ
ბოლოს გექნება რეფაქტორების პორტფოლიო — იღებ „მუშაობს, მაგრამ უხეშია" კოდს და აჩვენებ before/after-ს. ყველაზე სასარგებლო არტეფაქტი Mid ინჟინრისთვის გასაუბრებაზე: „აი legacy კოდი, აი რა გავაკეთე, აი რატომ ავირჩიე Strategy მემკვიდრეობის ნაცვლად".
- პოროჟდაიანი შაბლონები: Factory, Builder, Singleton
- სტრუქტურული შაბლონები: Adapter, Decorator, Facade
- ქცევითი შაბლონები: Strategy, Observer, Command
- კოდის რეფაქტორინგი შაბლონების გამოყენებით
- overengineering-ის და ანტი-შაბლონების ამოცნობა
- არქიტექტურული გადაწყვეტილებების მიღება
სად დევს თქვენს კარიერაში
კურსის პარალელურად წასაკითხი
AI-readiness-შეფასება, რომელსაც CTO ერთ კვირაში ჩაატარებს
სანამ AI-სტრატეგიას დაწერთ, გაზომეთ, რისი შესრულება რეალურად შეუძლია თქვენს ორგანიზაციას. მონაცემების, უნარების, ტულინგისა და governance-ის ხუთდღიანი შეფასება თითქმის შეხვედრების გარეშე — შეფასების რუბრიკით, რომელსაც ბორდის წინაშეც დაიცავთ და ინჟინრების წინაშეც.
დიზაინ-პატერნები AI-ის ეპოქაში: რატომ არის პატერნების ცოდნა უფრო მნიშვნელოვანი, როცა კოდს თქვენ არ წერთ
AI წერს იმპლემენტაციას; თქვენ მას code review-ს უკეთებთ. მაგრამ შეაფასებთ მხოლოდ იმას, რასაც სახელი შეგიძლიათ დაარქვათ. პატერნების ცოდნა — Strategy if-ების გროვის ნაცვლად, Decorator დაკოპირებული wrapper-ის ნაცვლად — არქიტექტურული უნარიდან AI-დახმარებით დეველოპმენტის მთავარ კითხვის უნარად იქცევა.
MCP საინჟინრო გუნდებისთვის: შიდა API-ების AI-სთან დაკავშირება ისე, რომ არ ინანოთ
დეველოპერის განმარტებამ გითხრათ, რა არის MCP. ეს მეორე საუბარია — მისთვის, ვინც სისტემებზეა პასუხისმგებელი: რა ჯდება რეალურად შიდა API-ების AI-სთან დაკავშირება, სად უნდა გადიოდეს უსაფრთხოების საზღვარი, და როდის ავაწყოთ ინტეგრაცია საკუთარი ძალებით და როდის მოვიწვიოთ review.
პირველი გაკვეთილი ჩვენი ხარჯითაა. გადაწყვიტე ინსტრუქტორთან გაცნობის შემდეგ.
ჩაერთე პირველ სესიაზე. თუ პირველი გაკვეთილის შემდეგ გადაწყვიტე, რომ ინსტრუქტორი არ გერგო — მისთვის არ იხდი, არცერთი უხერხული საუბრის გარეშე. (საცდელი მოქმედებს იმ კურსებზე, რომლებიც 5 გაკვეთილზე გრძელია; ეს კურსი ერგება.)
ფასი და რა შედის
რა შედის
- 13 ცოცხალი სესია × 2 საათი — მასწავლებელი ცოცხლად ატარებს, არა ჩანაწერი
- სლაიდები თითოეული სესიისთვის — შენთან რჩება და ნებისმიერ დროს შეგიძლია გადახედო
- მუშა კოდის ფაილები და data-ფაილები გაკვეთილიდან — შენს მანქანაზე იქნება დაკლონილი
- ყოველკვირეული სავალდებულო პერსონალური კოდის გადახედვით მასწავლებლისგან
- ჩაწერა მოთხოვნით — წინასწარ აცნობე მასწავლებელს („სამშაბათს ვერ მოვალ, ჩაწერე გთხოვ") და გაკვეთილი შენთვის ჩაიწერება
ხშირად დასმული კითხვები
რამდენ საათს მოითხოვს კვირაში?
გათვალე ცოცხალი სესიები პლუს დაახლოებით 1.5–2 საათი პრაქტიკისთვის თითოეულზე. სტუდენტების უმრავლესობა, ვინც გრაფიკში თავსდება, კვირაში 4–6 საათს ხარჯავს. ნაკლებიც მუშაობს — უბრალოდ მეტი დრო სჭირდება.
რა ხდება თუ გაკვეთილს გავაცდენ?
უთხარი მასწავლებელს გაკვეთილამდე — „სამშაბათს ვერ მოვალ, ჩაწერე გთხოვ" — და მასწავლებელი ჩაწერს ამ გაკვეთილს და გამოგიგზავნის. ჩანაწერები არ არის ავტომატური არქივი; ისინი მოთხოვნით კეთდება, როცა წინასწარ გვაცნობებ. გაკვეთილის შემდეგ გააკეთე სავალდებულო, შემდეგ სესიაზე კი მოდი კითხვებით.
რა შედის ფასში?
ცოცხალი სესიები მასწავლებელთან; სლაიდები თითოეული სესიისთვის (შენი რჩება); მუშა კოდის ფაილები და ნებისმიერი data-ფაილი, რომელიც გაკვეთილზე გამოვიყენეთ; ყოველკვირეული დავალება კოდის გადახედვით; და იმ სესიების ჩანაწერები, რომელზეც წინასწარ გაგვიფრთხილე. ყველაფერი დანარჩენი — სერთიფიკატი, alumni-წვდომა, mock ინტერვიუ — ცალსახად ჩამოთვლილია „რა შედის"-ში FAQ-ის ზემოთ იმ კურსებზე, სადაც ეს მოქმედებს.
და თუ ჩავეწერე და მასწავლებელი არ მერგო?
კურსებზე, რომლებიც 5 გაკვეთილზე გრძელია, პირველი სესია ფაქტობრივად საცდელია — თუ პირველი გაკვეთილის შემდეგ გადაწყვიტე, რომ მასწავლებელი არ გერგო, მისთვის არ იხდი. სჯობს ერთი გაკვეთილის მერე წახვიდე, ვიდრე 9 კვირა იტანო ცუდი კავშირი. (5 ან ნაკლები გაკვეთილის კურსები ძალიან მოკლეა — საცდელი შეთავაზება იქ აზრს კარგავს, ჩვეულებრივი ფასი მოქმედებს.)
შეიძლება თანხის უკან დაბრუნება, თუ შუაში მივატოვებ?
დიახ. შეძენიდან 14 კალენდარული დღის განმავლობაში შეგიძლიათ უარი თქვათ და მოთხოვნისთანავე სრული თანხა დაიბრუნოთ, მიზეზის ახსნის გარეშე — ეს თქვენი კანონიერი უფლებაა საქართველოს მომხმარებლის უფლებების დაცვის კანონით. ამას გარდა, ჩვენი საკუთარი გარანტია: თუ 3-ზე ნაკლებ გაკვეთილს დაესწარით, თანხას სრულად, დაქვითვების გარეშე გიბრუნებთ. თანხა ბრუნდება იმავე გადახდის მეთოდზე 14 დღეში.
შემიძლია სასწავლო ენის შეცვლა?
ცოცხალი სესიები მიმდინარეობს იმ ენაზე, რომელიც ზემოთ ბლოკში „ხელმისაწვდომი ენები"-ა მითითებული. სლაიდები და კოდის ფაილები ჩვეულებრივ ხელმისაწვდომია ოთხივე ენაზე (ინგლისური, რუსული, უკრაინული, ქართული). ბევრი სტუდენტი უსმენს ერთ ენაზე და კითხულობს მეორეზე — ეს ნორმალურია.
მზად ვიქნები რეალური სამუშაოსთვის კურსის შემდეგ?
ერთი კურსი იშვიათად ანიჭებს ვინმეს სამუშაოს თვითონ — არცერთ სფეროში. ეს კურსი გაძლევს იმ საფუძველს, რომელსაც junior-დაქირავების მენეჯერი ელის: საკუთარი ხელით დაწერილი მუშა კოდი, ლექსიკა სხვისი კოდის წასაკითხად და ჩვევები, რომელიც გხდის დასაქირავებელ. გულახდილი პასუხი კითხვაზე „მზად ვარ?" ჩვენს roadmap-ზეა (ბმული გვერდის თავში) — გახსენი ის დონე, რომელზეც გინდა მისვლა, და წაიკითხე ჩეკლისტი „მზად ხარ, როცა…".
შემიძლია განვადებით გადახდა?
დიახ იმ კურსებისთვის, რომლებსაც ზედა ზოლში „ყოველთვიური გადახდა"-ა მითითებული — ჩვეულებრივ ეს ორი ან სამი თანაბარი თანხაა. ის კურსები, რომლებსაც ეს ოპცია არ აქვთ, ერთჯერად უნდა გადაიხადო. თუ ფასი ბარიერია, მოგვწერე — თითოეულ ქეისს ცალკე ვიხილავთ.