Principle & Design Patterns
Tamoyillar va Dizayn Patternlar
Let's grab a coffee

Savollarga javob berish
- 1. What are Design Principles? Why we need them?
- 2. What Design Principles you know?
- 3. Explain the following:
- 3.1 Program to an Interface, not an Implementation
- 3.2 Encapsulate What Varies (application-, class- and method-level)
- 3.3 Favor Composition Over Inheritance
- 4. How practically you used above-mentioned principles in your projects?
- Refactoring Guru, pg. 37-51
- Kitobni yuklab olish
- SPR nima?
- 1. Create UserManagment.Console
- 2. It offers 2 features:
- 2.1 Add credential (username, password) -> file
-
2.2 Login Here are some of the criteria: - 1. There should be at least 2 branches
- 2. The repo should be well-documented (headings, gifs, etc.)
- 3. Exception handling required
- 4. Validation required
- 5. Exception handling and validation are only allowed in services.
- 6. Retry logic for console required
- 7. Pair-programming recommended
- TimCorey SRP
- Refactoring Guru, pg. 52-53
- O/C tamoyili nima?
-
Portfolio Project
Name: e-shop (EShop) FEATURES: - 1. Auth (file storage)
- 1.1 Login
- 1.2 Create credentials
- 2. Show products
- 2.1 Products (memory storage) - (id, price, weight)
- 2.2 AddToCart
- 3. Show shipping method
- 3.2 Air, Sea, Ground
- 4. Show total price
- 4.1 Show line items + shipping details
- Loyihani tayyorlash va GitHub-ga yuklash
-
LSP tamoyili nima?
- LSP nazariyasi haqida o'qing
- 1. What types of Design Patters are there?
- 2. What is Design Pattern?
- 3. What is Factory method?
- Event-driven arxitektura nima?
- Nazariyani o'rganish
- Singleton nima?
- Undan nima maqsadda foydalanamiz?
- Amaliy loyiha
- What is Dependency Inversion?
- What is Inversion of Control?
- What is Dependency Injection?
- What is IoC Container?
- Nazariy:
- 1.What is Dependency Inversion?
- 2.What is Inversion of Control?
- 3.What is Dependency Injection?
- 4.What is IoC Container?
- Amaliy:
- 1. FileDb loyhasiga JSON file bilan ishlash imkonini qo'shing.
- 2. Foydalanuvchi dasturni ishlatganda .json yoki .txt file bilan ishlashi mumkin bo'lsin(yani tanlash imkoni bo'lishi kerak).
- 3. Loyha har bir kishining GitHub repository asida bo'lishi kerak.
📌Uy ishi
- Amaliy loyiha â„–1
-
File Reader Read file names inside particular directory. Directory might have inner directories. File Calculator Calculate total of files in a particular directory
-
- Balance:
- 1. Hisobizda hamma pul yechib olinsa va hisob 0 ga tushsa, xabar berilsin (Email Service)
- 2. Hisobda pul yetmasa, qizil yozuv bilan xabar berilsin (Error Service)
- 3. Hisobdan shunchaki pul yechilsa, yashil bilan ma'lumot xabar berilsin (Info Service)
- Uchchala holat uchun alohida alohida classlar qiziqish bildirsin.