### E) Event-Driven Paradigm
Flow controlled by events rather than sequential commands.
Used in UI, messaging systems, reactive pipelines.
---
### F) Asynchronous Paradigm
Handle I/O or long-running tasks without blocking threads.
Combines
---
### G) Reactive (Optional Extension)
Treat data as streams (e.g. with IObservable): react declaratively to change over time.
---
## 4) How C# Programming Model Enables These Paradigms
| Paradigm | Model Elements (C#) |
|---------------|---------------------|
| Imperative | loops, mutable locals, branching (
| OOP |
| Functional | lambdas, delegates (
| Declarative | LINQ query syntax, attributes, expression trees |
| Event-Driven |
| Asynchronous |
| Reactive | observables (via libraries), continuation chains |
C# is multi-paradigm: mix domain modeling (OOP) + data transformations (functional/declarative) + async I/O + events.
---
## 5) Choosing a Paradigm (Quick Guide)
| Situation | Best Fit |
|-----------|----------|
| Rich domain entities, lifecycle | OOP |
| Data querying/filtering | Declarative (LINQ) |
| Composable transformations, testability | Functional style |
| UI interactions, user input | Event-Driven |
| Network / file / database latency | Asynchronous |
| Simple scripts / procedural tasks | Imperative |
| Live data streams / continuous updates | Reactive |
Often you combine several in one solution.
---
## 6) Summary
Paradigm = How you think and structure the solution conceptually.
Programming Model = The language/runtime mechanisms enabling those structures.
C# provides a unified model supporting multiple paradigms seamlessly.
---
## 7) Glossary (English Term + Persian Meaning)
| Term | Persian |
|------|--------|
| Programming Paradigm | پارادایم برنامهنویسی / سبک مفهومی |
| Programming Model | مدل برنامهنویسی / مکانیزم اجرایی |
| Imperative | دستوری |
| Declarative | اعلامی / деклараتی |
| Object-Oriented (OOP) | شیءگرا |
| Encapsulation | کپسولهسازی |
| Inheritance | ارثبری |
| Polymorphism | چندریختی |
| Abstraction | انتزاع |
| Class | کلاس |
| Object | شیء |
| Method | متد |
| State | حالت |
| Functional Programming | برنامهنویسی تابعی |
| Pure Function | تابع خالص |
| Side Effect | عارضهٔ جانبی |
| Immutability | تغییرناپذیری |
| Lambda Expression | عبارت لامبدا |
| Delegate | نماینده (تابع اشارهای) |
| LINQ | چارچوب کوئری یکپارچه |
| Query Syntax | نحوهٔ نگارش کوئری |
| Expression Tree | درخت بیان |
| Event | رویداد |
| Event-Driven | رویدادمحور |
| Asynchronous / Async | ناهمگام |
| Concurrency | همزمانی |
| Task | وظیفهٔ ناهمگام |
| CancellationToken | توکن لغو |
| Record | رکورد (نوع دادهٔ مختصر) |
| Virtual | مجازی (قابل بازنویسی) |
| Override | بازنویسی |
| Abstract | انتزاعی |
| Interface | اینترفیس / قرارداد |
| Reactive | واکنشی |
| Multi-Paradigm | چندپارادایمی |
| API | رابط برنامهنویسی کاربردی |
| Design Pattern | الگوی طراحی |
| Refactoring | بازآرایی کد |
| Maintainability | نگهداشتپذیری |
| Scalability | مقیاسپذیری |
| Deferred Execution | اجرای مؤخر |
| DSL | زبان دامنهمحور |
| Idempotent | ایدمپوتنت (تکرار بدون تغییر نتیجه) |
---
## 8) Tags
#programming #paradigm #programming_model #CSharp #OOP #Functional #Declarative #LINQ #Async #EventDriven #Reactive #DotNet #SoftwareDesign #CleanCode #BrainBytes #Architecture #Coding #Developer
Flow controlled by events rather than sequential commands.
public class Button
{
public event Action? Click;
public void OnClick() => Click?.Invoke();
}
var button = new Button();
button.Click += () => Console.WriteLine("Button clicked!");
button.OnClick();
Used in UI, messaging systems, reactive pipelines.
---
### F) Asynchronous Paradigm
Handle I/O or long-running tasks without blocking threads.
public async Task<string> FetchAsync()
{
using var http = new HttpClient();
return await http.GetStringAsync("https://example.com");
}
var data = await FetchAsync();
Console.WriteLine(data);
Combines
async/await with Task for clearer concurrency.---
### G) Reactive (Optional Extension)
Treat data as streams (e.g. with IObservable): react declaratively to change over time.
---
## 4) How C# Programming Model Enables These Paradigms
| Paradigm | Model Elements (C#) |
|---------------|---------------------|
| Imperative | loops, mutable locals, branching (
if, switch) || OOP |
class, interface, abstract, virtual, override, access modifiers || Functional | lambdas, delegates (
Func<>, Action), LINQ, record types || Declarative | LINQ query syntax, attributes, expression trees |
| Event-Driven |
event, delegates, EventHandler, UI frameworks || Asynchronous |
async, await, Task, CancellationToken, ValueTask || Reactive | observables (via libraries), continuation chains |
C# is multi-paradigm: mix domain modeling (OOP) + data transformations (functional/declarative) + async I/O + events.
---
## 5) Choosing a Paradigm (Quick Guide)
| Situation | Best Fit |
|-----------|----------|
| Rich domain entities, lifecycle | OOP |
| Data querying/filtering | Declarative (LINQ) |
| Composable transformations, testability | Functional style |
| UI interactions, user input | Event-Driven |
| Network / file / database latency | Asynchronous |
| Simple scripts / procedural tasks | Imperative |
| Live data streams / continuous updates | Reactive |
Often you combine several in one solution.
---
## 6) Summary
Paradigm = How you think and structure the solution conceptually.
Programming Model = The language/runtime mechanisms enabling those structures.
C# provides a unified model supporting multiple paradigms seamlessly.
---
## 7) Glossary (English Term + Persian Meaning)
| Term | Persian |
|------|--------|
| Programming Paradigm | پارادایم برنامهنویسی / سبک مفهومی |
| Programming Model | مدل برنامهنویسی / مکانیزم اجرایی |
| Imperative | دستوری |
| Declarative | اعلامی / деклараتی |
| Object-Oriented (OOP) | شیءگرا |
| Encapsulation | کپسولهسازی |
| Inheritance | ارثبری |
| Polymorphism | چندریختی |
| Abstraction | انتزاع |
| Class | کلاس |
| Object | شیء |
| Method | متد |
| State | حالت |
| Functional Programming | برنامهنویسی تابعی |
| Pure Function | تابع خالص |
| Side Effect | عارضهٔ جانبی |
| Immutability | تغییرناپذیری |
| Lambda Expression | عبارت لامبدا |
| Delegate | نماینده (تابع اشارهای) |
| LINQ | چارچوب کوئری یکپارچه |
| Query Syntax | نحوهٔ نگارش کوئری |
| Expression Tree | درخت بیان |
| Event | رویداد |
| Event-Driven | رویدادمحور |
| Asynchronous / Async | ناهمگام |
| Concurrency | همزمانی |
| Task | وظیفهٔ ناهمگام |
| CancellationToken | توکن لغو |
| Record | رکورد (نوع دادهٔ مختصر) |
| Virtual | مجازی (قابل بازنویسی) |
| Override | بازنویسی |
| Abstract | انتزاعی |
| Interface | اینترفیس / قرارداد |
| Reactive | واکنشی |
| Multi-Paradigm | چندپارادایمی |
| API | رابط برنامهنویسی کاربردی |
| Design Pattern | الگوی طراحی |
| Refactoring | بازآرایی کد |
| Maintainability | نگهداشتپذیری |
| Scalability | مقیاسپذیری |
| Deferred Execution | اجرای مؤخر |
| DSL | زبان دامنهمحور |
| Idempotent | ایدمپوتنت (تکرار بدون تغییر نتیجه) |
---
## 8) Tags
#programming #paradigm #programming_model #CSharp #OOP #Functional #Declarative #LINQ #Async #EventDriven #Reactive #DotNet #SoftwareDesign #CleanCode #BrainBytes #Architecture #Coding #Developer
❤3
# 🚦 ASP.NET Core Routing Unlocked – Your App’s GPS!
Channel: [t.me/brain_bytes](https://t.me/brain_bytes)
---
## 🎯 What is Routing? (Professional Overview)
Routing is the backbone of an ASP.NET Core web application.
It connects incoming URLs to specific pieces of your code, called endpoints (like controller actions or pages).
When a user sends a request, routing ensures it lands exactly where it should, making your app organized, scalable, and user-friendly.
---
## 🪁 Simple Definition
Think of routing as a GPS for your web app.
It reads every URL a user enters and guides it to the right controller and method, just like a GPS takes you to the correct address!
---
## 💡 Practical Example
Let’s build a practical “Product Details” feature:
### Program.cs (Routing Setup)
### ProductController.cs
### Product.cs (Model)
### Views/Product/Details.cshtml
---
## ☑️ Key Points & Best Practices
- Use clear and simple route patterns.
- Prefer attribute routing for precise control.
- Always check route parameters (e.g., confirm
- Avoid overlapping or ambiguous route patterns.
- Organize endpoints logically for maintainability.
- Test routes with sample URLs to ensure proper mapping.
---
## 📚 Important Terms & Meanings
- Routing: Maps URLs to the right endpoint (controller/action/page).
- Controller: Receives requests and sends back responses.
- Action: Method inside a controller handling a specific route.
- Endpoint: The final target for a request in your app.
- Route Pattern: URL template to match and direct requests.
- Parameter: Data passed via URL, like
- Attribute Routing: Routes defined directly on methods/classes using annotations.
- Convention-based Routing: One general template for all routes.
---
## 🏷 Telegram Tags
#AspNetCore #Routing #DotNet #brain_bytes #WebDevelopment #PracticalCode #FAQ #Glossary
---
🔥 For more practical lessons: [t.me/brain_bytes](https://t.me/brain_bytes)
Channel: [t.me/brain_bytes](https://t.me/brain_bytes)
---
## 🎯 What is Routing? (Professional Overview)
Routing is the backbone of an ASP.NET Core web application.
It connects incoming URLs to specific pieces of your code, called endpoints (like controller actions or pages).
When a user sends a request, routing ensures it lands exactly where it should, making your app organized, scalable, and user-friendly.
---
## 🪁 Simple Definition
Think of routing as a GPS for your web app.
It reads every URL a user enters and guides it to the right controller and method, just like a GPS takes you to the correct address!
---
## 💡 Practical Example
Let’s build a practical “Product Details” feature:
### Program.cs (Routing Setup)
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
app.Run();
### ProductController.cs
using Microsoft.AspNetCore.Mvc;
public class ProductController : Controller
{
// Handles URLs like /Product/Details/5
public IActionResult Details(int id)
{
var product = new Product { Id = id, Name = "Sample Product", Price = 99.99M };
return View(product);
}
}
### Product.cs (Model)
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
### Views/Product/Details.cshtml
@model Product
<h1>Product Details</h1>
<p>Id: @Model.Id</p>
<p>Name: @Model.Name</p>
<p>Price: $@Model.Price</p>
---
## ☑️ Key Points & Best Practices
- Use clear and simple route patterns.
- Prefer attribute routing for precise control.
- Always check route parameters (e.g., confirm
id exists).- Avoid overlapping or ambiguous route patterns.
- Organize endpoints logically for maintainability.
- Test routes with sample URLs to ensure proper mapping.
---
## 📚 Important Terms & Meanings
- Routing: Maps URLs to the right endpoint (controller/action/page).
- Controller: Receives requests and sends back responses.
- Action: Method inside a controller handling a specific route.
- Endpoint: The final target for a request in your app.
- Route Pattern: URL template to match and direct requests.
- Parameter: Data passed via URL, like
id in /details/5.- Attribute Routing: Routes defined directly on methods/classes using annotations.
- Convention-based Routing: One general template for all routes.
---
## 🏷 Telegram Tags
#AspNetCore #Routing #DotNet #brain_bytes #WebDevelopment #PracticalCode #FAQ #Glossary
---
🔥 For more practical lessons: [t.me/brain_bytes](https://t.me/brain_bytes)
👍3
# 🧩 ASP.NET Core Middleware—Your App’s Request Pipeline, Explained!
Channel: [t.me/brain_bytes](https://t.me/brain_bytes)
---
## 🎯 What is Middleware? (Professional Overview)
Middleware in ASP.NET Core refers to small components that process HTTP requests one after another as they travel through your application.
Each middleware can inspect, modify, or handle a request—or let it continue to the next middleware in the pipeline.
Every web app in ASP.NET Core is made of a sequence of middleware components, creating what’s known as a “request pipeline.”
You decide what middlewares to use, their order, and how they interact with each request and response.
---
## 🪁 Simple Definition
Think of middleware as checkpoint stations at an airport.
Every request passes through them one by one, getting checked, tagged, or changed before reaching its final destination!
---
## 💡 Practical Example
Let’s build a simple middleware pipeline:
### Program.cs
Order of Execution:
- Request enters Middleware 1, then passes to Middleware 2, and finally to the Terminal Middleware.
- Responses flow back in reverse: Terminal → Middleware 2 → Middleware 1.
---
## ☑️ Key Points & Best Practices
- Middlewares execute in the order they are added in your code.
- The first middleware added is the first to run, and the last is the terminal handler.
- Each
- Omitting
- Order is crucial! For example, add authentication before authorization.
- Keeping middleware logic short and focused makes it easier to manage and test.
---
## 📚 Important Terms & Meanings
- Middleware: A building block of the request pipeline that handles or transforms HTTP requests/responses.
- Pipeline: The sequence of middleware components through which each request travels.
- app.Use(): Adds a middleware to the pipeline, allowing continuation (
- app.Run(): Adds a terminal middleware, ending the pipeline.
- Request: Information sent by the client to your server.
- Response: Information your server sends back to the client.
---
## 🏷 Telegram Tags
#AspNetCore #Middleware #DotNet #brain_bytes #WebDevelopment #BestPractices #Glossary #FAQ
---
🔥 For more hands-on lessons: [t.me/brain_bytes](https://t.me/brain_bytes)
Channel: [t.me/brain_bytes](https://t.me/brain_bytes)
---
## 🎯 What is Middleware? (Professional Overview)
Middleware in ASP.NET Core refers to small components that process HTTP requests one after another as they travel through your application.
Each middleware can inspect, modify, or handle a request—or let it continue to the next middleware in the pipeline.
Every web app in ASP.NET Core is made of a sequence of middleware components, creating what’s known as a “request pipeline.”
You decide what middlewares to use, their order, and how they interact with each request and response.
---
## 🪁 Simple Definition
Think of middleware as checkpoint stations at an airport.
Every request passes through them one by one, getting checked, tagged, or changed before reaching its final destination!
---
## 💡 Practical Example
Let’s build a simple middleware pipeline:
### Program.cs
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
// Middleware 1
app.Use(async (context, next) =>
{
Console.WriteLine("Middleware 1: Before");
await next();
Console.WriteLine("Middleware 1: After");
});
// Middleware 2
app.Use(async (context, next) =>
{
Console.WriteLine("Middleware 2: Before");
await next();
Console.WriteLine("Middleware 2: After");
});
// Terminal Middleware
app.Run(async context =>
{
Console.WriteLine("Terminal Middleware: Handling request");
await context.Response.WriteAsync("Hello from ASP.NET Core Pipeline!");
});
app.Run();
Order of Execution:
- Request enters Middleware 1, then passes to Middleware 2, and finally to the Terminal Middleware.
- Responses flow back in reverse: Terminal → Middleware 2 → Middleware 1.
---
## ☑️ Key Points & Best Practices
- Middlewares execute in the order they are added in your code.
- The first middleware added is the first to run, and the last is the terminal handler.
- Each
app.Use middleware should call await next() to pass control.- Omitting
next() makes that middleware the terminal one (it ends the pipeline).- Order is crucial! For example, add authentication before authorization.
- Keeping middleware logic short and focused makes it easier to manage and test.
---
## 📚 Important Terms & Meanings
- Middleware: A building block of the request pipeline that handles or transforms HTTP requests/responses.
- Pipeline: The sequence of middleware components through which each request travels.
- app.Use(): Adds a middleware to the pipeline, allowing continuation (
next()).- app.Run(): Adds a terminal middleware, ending the pipeline.
- Request: Information sent by the client to your server.
- Response: Information your server sends back to the client.
---
## 🏷 Telegram Tags
#AspNetCore #Middleware #DotNet #brain_bytes #WebDevelopment #BestPractices #Glossary #FAQ
---
🔥 For more hands-on lessons: [t.me/brain_bytes](https://t.me/brain_bytes)
👍2
Media is too big
VIEW IN TELEGRAM
#FIRST_API_001
خیلیها فکر میکنن ورود به دنیای WebApi سخته، اما همه چیز به نحوه آموزش بستگی داره.
من توی این ویدیو سعی کردم ASP.NET Core و Minimal API رو به زبون ساده و با نسخه جدید Dotnet9 توضیح بدم.
🔹 سطح: کاملاً مقدماتی
🔹 پیشنیاز: هیچی! (از صفر شروع میکنیم)
🔹 هدف: درک عمیق RestApi بدون سردرگمی
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
خیلیها فکر میکنن ورود به دنیای WebApi سخته، اما همه چیز به نحوه آموزش بستگی داره.
من توی این ویدیو سعی کردم ASP.NET Core و Minimal API رو به زبون ساده و با نسخه جدید Dotnet9 توضیح بدم.
🔹 سطح: کاملاً مقدماتی
🔹 پیشنیاز: هیچی! (از صفر شروع میکنیم)
🔹 هدف: درک عمیق RestApi بدون سردرگمی
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
❤3🔥1
با سلام خدمت همه دوستان،
نمیدونم همگی سالم هستید یا نه، ولی امیدوارم که سالم باشید.
درسته که تو این وضعیت هیچ حالی برای آدم نمیمونه که سرحال باشه؛ از یه طرف جنگ، از یه طرف بستن اینترنت...
ما در دوران عجیبی زندگی میکنیم. به نظر نه از خارج کشور و نه از داخل، خیلی حقی برای زندگی ما قائل نیستن.
پس فقط میتونیم برای همدیگه سلامتی آرزو کنیم.
امیدوارم همگی حالتون خوب باشه.
📍 اینجا ایران - تهران
🗓 تاریخ: 2026-04-20 || 1405-01-31
🏷 دوران آتشبس که از جنگ بدتر گذشت.
✨ ماند به یادگار که ما ایستاده در غبار زندگی کردیم 🥲.
به امید روزهای روشنتر.
نمیدونم همگی سالم هستید یا نه، ولی امیدوارم که سالم باشید.
درسته که تو این وضعیت هیچ حالی برای آدم نمیمونه که سرحال باشه؛ از یه طرف جنگ، از یه طرف بستن اینترنت...
ما در دوران عجیبی زندگی میکنیم. به نظر نه از خارج کشور و نه از داخل، خیلی حقی برای زندگی ما قائل نیستن.
پس فقط میتونیم برای همدیگه سلامتی آرزو کنیم.
امیدوارم همگی حالتون خوب باشه.
📍 اینجا ایران - تهران
🗓 تاریخ: 2026-04-20 || 1405-01-31
🏷 دوران آتشبس که از جنگ بدتر گذشت.
✨ ماند به یادگار که ما ایستاده در غبار زندگی کردیم 🥲.
به امید روزهای روشنتر.
❤3
Media is too big
VIEW IN TELEGRAM
#FIRST_API_002
خیلیها فکر میکنن ورود به دنیای WebApi سخته، اما همه چیز به نحوه آموزش بستگی داره.
من توی این ویدیو سعی کردم ASP.NET Core و Minimal API رو به زبون ساده و با نسخه جدید Dotnet9 توضیح بدم.
🔹 سطح: کاملاً مقدماتی
🔹 پیشنیاز: هیچی! (از صفر شروع میکنیم)
🔹 هدف: درک عمیق RestApi بدون سردرگمی
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
خیلیها فکر میکنن ورود به دنیای WebApi سخته، اما همه چیز به نحوه آموزش بستگی داره.
من توی این ویدیو سعی کردم ASP.NET Core و Minimal API رو به زبون ساده و با نسخه جدید Dotnet9 توضیح بدم.
🔹 سطح: کاملاً مقدماتی
🔹 پیشنیاز: هیچی! (از صفر شروع میکنیم)
🔹 هدف: درک عمیق RestApi بدون سردرگمی
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
❤1🔥1
🚀 جادوی Minimal API در داتنت؛ فراتر از کد کمتر!
پاسخ کامل و عمیق:
مینیمال ایپیآی (Minimal API) در داتنت ۶ به بعد، فقط یک روش برای "کمتر کد زدن" نیست؛ بلکه یک تغییر معماری برای کاهش سربار (Overhead) و افزایش پرفورمنس است. در معماری سنتی مبتنی بر Controller، هر درخواست از فیلترهای متعدد، مدلبایندینگهای سنگین و لایههای انتزاعی عبور میکنه که برای APIهای بزرگ عالیه، اما برای سرویسهای سبک یا پرترافیک، سربار غیرضروری ایجاد میکنه.
در Minimal API، ما مستقیماً با
قصد مصاحبهگر:
مصاحبهگر با این سوال میخواد عمق درک شما رو بسنجه:
۱. آیا تریدآفها رو میشناسید؟ کی باید از Controller استفاده کنید و کی Minimal API؟ (مثلاً برای پروژههای بزرگ تیمی، Controller هنوز خواناتر است).
۲. آیا با پرفورمنس درگیر بودید؟ آیا میدونید حذف Controller چقدر میتونه در RPS (Requests Per Second) تاثیر بذاره؟
۳. آیا میتونید کد تمیز بنویسید؟ خطر Minimal API این است که اگر درست ساختاردهی نشه، فایل
مثالهای کاربردی و واقعی:
۱. سناریوی هندلینگ وبهوک (Webhook Handler):
در پروژهای که روی درگاه پرداخت کار میکردیم، سرویسی داشتیم که روزانه میلیونها نوتیفیکیشن از بانک دریافت میکرد. این اندپوینت فقط یک امضا رو چک میکرد و یک رکورد ساده مینوشت. استفاده از Controller و مدلبایندینگ سنگین داتنت، باعث تاخیر میلیثانیهای میشد که در مجموع قابل توجه بود. با مهاجرت به Minimal API**، توانستیم مستقیماً به `HttpRequest` دسترسی داشته باشیم، بادی رو استریم کنیم و پرفورمنس رو ۳۰٪ بهبود بدیم.
۲. **سناریوی لایه BFF (Backend for Frontend):
برای یک اپلیکیشن موبایل، نیاز به یک لایه واسط داشتیم که دادهها رو از چندین میکروسرویس بگیره، ترکیب کنه و به فرمت مخصوص موبایل برگردونه. چون منطق بیزینسی پیچیدهای نداشت و بیشتر تمرکز روی Aggregation بود، از Minimal API استفاده کردیم. این کار باعث شد بتونیم اندپوینتها رو بسیار سریع پروتوتایپ کنیم و بدون درگیر شدن با ساختار کلاسهای Controller، مستقیماً سرویسها رو inject کنیم و خروجی رو بسازیم.
نمونه کد استاندارد:
نکات کلیدی:
- ✅ ساختاردهی مهم است: برای پروژههای بزرگ، کدهای Minimal API را به فایلهای جداگانه (Extension Methods) منتقل کنید تا
- ✅ پرفورمنس بالاتر: به دلیل حذف رفلکشنهای Controller، در بارهای سنگین عملکرد بهتری دارد.
- ✅ انعطافپذیری: دسترسی مستقیم به
- ✅ مناسب میکروسرویس: برای سرویسهای کوچک و تکمنظوره (Single Responsibility) گزینه ایدهآلی است.
----
برای مطالب بیشتر عضو کانال ما شوید:
t.me/brain_bytes
#برنامه_نویسی #مصاحبه_شغلی #دات_نت #MinimalAPI #ASPNETCore #معماری_نرم_افزار #پرفورمنس #کدنویسی_تمیز #استخدام_برنامه_نویس #تکنولوژی
پاسخ کامل و عمیق:
مینیمال ایپیآی (Minimal API) در داتنت ۶ به بعد، فقط یک روش برای "کمتر کد زدن" نیست؛ بلکه یک تغییر معماری برای کاهش سربار (Overhead) و افزایش پرفورمنس است. در معماری سنتی مبتنی بر Controller، هر درخواست از فیلترهای متعدد، مدلبایندینگهای سنگین و لایههای انتزاعی عبور میکنه که برای APIهای بزرگ عالیه، اما برای سرویسهای سبک یا پرترافیک، سربار غیرضروری ایجاد میکنه.
در Minimal API، ما مستقیماً با
WebApplication و هندلرهای lambda کار میکنیم. این یعنی حذف رفلکشنهای سنگین زمان اجرا، کنترل دقیقتر روی پایپلاین درخواست و کاهش مصرف حافظه. اما نکته کلیدی اینجاست: مینیمال به معنای حذف ساختار نیست. شما همچنان میتونید از Dependency Injection، Validation، Filters و Middleware استفاده کنید، فقط بدون نیاز به کلاسهای Controller verbose.قصد مصاحبهگر:
مصاحبهگر با این سوال میخواد عمق درک شما رو بسنجه:
۱. آیا تریدآفها رو میشناسید؟ کی باید از Controller استفاده کنید و کی Minimal API؟ (مثلاً برای پروژههای بزرگ تیمی، Controller هنوز خواناتر است).
۲. آیا با پرفورمنس درگیر بودید؟ آیا میدونید حذف Controller چقدر میتونه در RPS (Requests Per Second) تاثیر بذاره؟
۳. آیا میتونید کد تمیز بنویسید؟ خطر Minimal API این است که اگر درست ساختاردهی نشه، فایل
Program.cs به یک "God Class" تبدیل میشه.مثالهای کاربردی و واقعی:
۱. سناریوی هندلینگ وبهوک (Webhook Handler):
در پروژهای که روی درگاه پرداخت کار میکردیم، سرویسی داشتیم که روزانه میلیونها نوتیفیکیشن از بانک دریافت میکرد. این اندپوینت فقط یک امضا رو چک میکرد و یک رکورد ساده مینوشت. استفاده از Controller و مدلبایندینگ سنگین داتنت، باعث تاخیر میلیثانیهای میشد که در مجموع قابل توجه بود. با مهاجرت به Minimal API**، توانستیم مستقیماً به `HttpRequest` دسترسی داشته باشیم، بادی رو استریم کنیم و پرفورمنس رو ۳۰٪ بهبود بدیم.
۲. **سناریوی لایه BFF (Backend for Frontend):
برای یک اپلیکیشن موبایل، نیاز به یک لایه واسط داشتیم که دادهها رو از چندین میکروسرویس بگیره، ترکیب کنه و به فرمت مخصوص موبایل برگردونه. چون منطق بیزینسی پیچیدهای نداشت و بیشتر تمرکز روی Aggregation بود، از Minimal API استفاده کردیم. این کار باعث شد بتونیم اندپوینتها رو بسیار سریع پروتوتایپ کنیم و بدون درگیر شدن با ساختار کلاسهای Controller، مستقیماً سرویسها رو inject کنیم و خروجی رو بسازیم.
نمونه کد استاندارد:
var builder = WebApplication.CreateBuilder(args);
// ثبت سرویسها در DI Container
builder.Services.AddScoped<IOrderService, OrderService>();
builder.Services.AddValidators();
var app = builder.Build();
// اندپوینت ثبت سفارش با اعتبارسنجی و تزریق وابستگی
app.MapPost("/orders", async (CreateOrderDto dto, IOrderService service) =>
{
// اعتبارسنجی دستی یا با فلوترها
if (dto.Amount <= 0)
return Results.BadRequest("Invalid amount");
var order = await service.CreateAsync(dto);
return Results.Created($"/orders/{order.Id}", order);
})
.WithName("CreateOrder")
.WithOpenApi(); // پشتیبانی از Swagger
app.Run();
نکات کلیدی:
- ✅ ساختاردهی مهم است: برای پروژههای بزرگ، کدهای Minimal API را به فایلهای جداگانه (Extension Methods) منتقل کنید تا
Program.cs شلوغ نشود.- ✅ پرفورمنس بالاتر: به دلیل حذف رفلکشنهای Controller، در بارهای سنگین عملکرد بهتری دارد.
- ✅ انعطافپذیری: دسترسی مستقیم به
HttpContext و HttpRequest برای سناریوهای خاص فراهم است.- ✅ مناسب میکروسرویس: برای سرویسهای کوچک و تکمنظوره (Single Responsibility) گزینه ایدهآلی است.
----
برای مطالب بیشتر عضو کانال ما شوید:
t.me/brain_bytes
#برنامه_نویسی #مصاحبه_شغلی #دات_نت #MinimalAPI #ASPNETCore #معماری_نرم_افزار #پرفورمنس #کدنویسی_تمیز #استخدام_برنامه_نویس #تکنولوژی
👍2❤1
Media is too big
VIEW IN TELEGRAM
#FIRST_API_003
خیلیها فکر میکنن ورود به دنیای WebApi سخته، اما همه چیز به نحوه آموزش بستگی داره.
من توی این ویدیو سعی کردم ASP.NET Core و Minimal API رو به زبون ساده و با نسخه جدید Dotnet9 توضیح بدم.
🔹 سطح: کاملاً مقدماتی
🔹 پیشنیاز: هیچی! (از صفر شروع میکنیم)
🔹 هدف: درک عمیق RestApi بدون سردرگمی
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
خیلیها فکر میکنن ورود به دنیای WebApi سخته، اما همه چیز به نحوه آموزش بستگی داره.
من توی این ویدیو سعی کردم ASP.NET Core و Minimal API رو به زبون ساده و با نسخه جدید Dotnet9 توضیح بدم.
🔹 سطح: کاملاً مقدماتی
🔹 پیشنیاز: هیچی! (از صفر شروع میکنیم)
🔹 هدف: درک عمیق RestApi بدون سردرگمی
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
🔥1
Media is too big
VIEW IN TELEGRAM
#FIRST_API_004
خیلیها فکر میکنن ورود به دنیای WebApi سخته، اما همه چیز به نحوه آموزش بستگی داره.
من توی این ویدیو سعی کردم ASP.NET Core و Minimal API رو به زبون ساده و با نسخه جدید Dotnet9 توضیح بدم.
🔹 سطح: کاملاً مقدماتی
🔹 پیشنیاز: هیچی! (از صفر شروع میکنیم)
🔹 هدف: درک عمیق RestApi بدون سردرگمی
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
خیلیها فکر میکنن ورود به دنیای WebApi سخته، اما همه چیز به نحوه آموزش بستگی داره.
من توی این ویدیو سعی کردم ASP.NET Core و Minimal API رو به زبون ساده و با نسخه جدید Dotnet9 توضیح بدم.
🔹 سطح: کاملاً مقدماتی
🔹 پیشنیاز: هیچی! (از صفر شروع میکنیم)
🔹 هدف: درک عمیق RestApi بدون سردرگمی
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
🔥1
Media is too big
VIEW IN TELEGRAM
#Blazor_PaginationComponent_001
توی این آموزش قصد داریم که یک کامپوننت صفحه بندی رو از صفر و از پایه ترین نقطه
برای استفاده خودمون بسازیم .
🔹 سطح : پیشرفته
🔹 پیشنیاز: آشنایی کافی با Blazor
🔹 هدف :درک عمیقی از کامپوننت ها در Blazor
🔹 مباحث :
- Component Life cycle
- Render fragment
- Relation parent and child Component
- Event call back
———-
#dotnet9 #blazor #blazor_component #pagination #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
توی این آموزش قصد داریم که یک کامپوننت صفحه بندی رو از صفر و از پایه ترین نقطه
برای استفاده خودمون بسازیم .
🔹 سطح : پیشرفته
🔹 پیشنیاز: آشنایی کافی با Blazor
🔹 هدف :درک عمیقی از کامپوننت ها در Blazor
🔹 مباحث :
- Component Life cycle
- Render fragment
- Relation parent and child Component
- Event call back
———-
#dotnet9 #blazor #blazor_component #pagination #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
❤1
Media is too big
VIEW IN TELEGRAM
#AspCore_OnlineFood
- Session: 001
پیاده سازی یک آنلاین فود ساده .
🔹 سطح: متوسط
🔹 پیشنیاز: آشنایی اولیه با Rest Api و زبان سیشارپ
🔹 مباحث:
- Minimal Api
- EF migrations
- Product CRUD
- Create Product endpoint
- Update Product endpoint
- Delete Product endpoint
- Get By Id Product endpoint
- Get All Products endpoint
- Swagger configuration
- Example about middleware
- Vertical Slice Architecture (Feature base system)
- Authentication and Authorization
- Login endpoint
- Register endpoint
- Validation token base jwt endpoint
- Get profile current user endpoint base JWT token
- Add custom middleware for Authentication user bearer JWT token
- Add JWTBearer middleware
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes (http://t.me/brain_bytes)]
- Session: 001
پیاده سازی یک آنلاین فود ساده .
🔹 سطح: متوسط
🔹 پیشنیاز: آشنایی اولیه با Rest Api و زبان سیشارپ
🔹 مباحث:
- Minimal Api
- EF migrations
- Product CRUD
- Create Product endpoint
- Update Product endpoint
- Delete Product endpoint
- Get By Id Product endpoint
- Get All Products endpoint
- Swagger configuration
- Example about middleware
- Vertical Slice Architecture (Feature base system)
- Authentication and Authorization
- Login endpoint
- Register endpoint
- Validation token base jwt endpoint
- Get profile current user endpoint base JWT token
- Add custom middleware for Authentication user bearer JWT token
- Add JWTBearer middleware
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes (http://t.me/brain_bytes)]
❤2🔥1
Media is too big
VIEW IN TELEGRAM
#Blazor_PaginationComponent_002
توی این آموزش قصد داریم که یک کامپوننت صفحه بندی رو از صفر و از پایه ترین نقطه
برای استفاده خودمون بسازیم .
🔹 سطح : پیشرفته
🔹 پیشنیاز: آشنایی کافی با Blazor
🔹 هدف :درک عمیقی از کامپوننت ها در Blazor
🔹 مباحث :
- Component Life cycle
- Render fragment
- Relation parent and child Component
- Event call back
———-
#dotnet9 #blazor #blazor_component #pagination #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
توی این آموزش قصد داریم که یک کامپوننت صفحه بندی رو از صفر و از پایه ترین نقطه
برای استفاده خودمون بسازیم .
🔹 سطح : پیشرفته
🔹 پیشنیاز: آشنایی کافی با Blazor
🔹 هدف :درک عمیقی از کامپوننت ها در Blazor
🔹 مباحث :
- Component Life cycle
- Render fragment
- Relation parent and child Component
- Event call back
———-
#dotnet9 #blazor #blazor_component #pagination #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
Media is too big
VIEW IN TELEGRAM
#Blazor_TableComponent_001
توی این آموزش میخوایم یه کامپوننت بسازیم که داده هایی که از بکند دریافت میکنیم رو بصورت جدول
و بصورت اتوماتیک به ما نمایش بده .
🔹 سطح : پیشرفته
🔹 پیشنیاز: آشنایی کافی با Blazor
🔹 هدف :درک عمیقی از کامپوننت ها در Blazor
🔹 مباحث :
- Component Life cycle
- Render fragment
- Relation parent and child Component
- Event call back
- Use another custome Component
- Use reflection
- Use Builder design pattern
———-
#dotnet9 #blazor #blazor_component #table
# #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
توی این آموزش میخوایم یه کامپوننت بسازیم که داده هایی که از بکند دریافت میکنیم رو بصورت جدول
و بصورت اتوماتیک به ما نمایش بده .
🔹 سطح : پیشرفته
🔹 پیشنیاز: آشنایی کافی با Blazor
🔹 هدف :درک عمیقی از کامپوننت ها در Blazor
🔹 مباحث :
- Component Life cycle
- Render fragment
- Relation parent and child Component
- Event call back
- Use another custome Component
- Use reflection
- Use Builder design pattern
———-
#dotnet9 #blazor #blazor_component #table
# #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
Media is too big
VIEW IN TELEGRAM
#AspCore_OnlineFood
- Session: 002
پیاده سازی یک آنلاین فود ساده .
🔹 سطح: متوسط
🔹 پیشنیاز: آشنایی اولیه با Rest Api و زبان سیشارپ
🔹 مباحث:
- Minimal Api
- EF migrations
- Product CRUD
- Create Product endpoint
- Update Product endpoint
- Delete Product endpoint
- Get By Id Product endpoint
- Get All Products endpoint
- Swagger configuration
- Example about middleware
- Vertical Slice Architecture (Feature base system)
- Authentication and Authorization
- Login endpoint
- Register endpoint
- Validation token base jwt endpoint
- Get profile current user endpoint base JWT token
- Add custom middleware for Authentication user bearer JWT token
- Add JWTBearer middleware
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes (http://t.me/brain_bytes)]
- Session: 002
پیاده سازی یک آنلاین فود ساده .
🔹 سطح: متوسط
🔹 پیشنیاز: آشنایی اولیه با Rest Api و زبان سیشارپ
🔹 مباحث:
- Minimal Api
- EF migrations
- Product CRUD
- Create Product endpoint
- Update Product endpoint
- Delete Product endpoint
- Get By Id Product endpoint
- Get All Products endpoint
- Swagger configuration
- Example about middleware
- Vertical Slice Architecture (Feature base system)
- Authentication and Authorization
- Login endpoint
- Register endpoint
- Validation token base jwt endpoint
- Get profile current user endpoint base JWT token
- Add custom middleware for Authentication user bearer JWT token
- Add JWTBearer middleware
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes (http://t.me/brain_bytes)]
🔥1
Media is too big
VIEW IN TELEGRAM
#Blazor_TableComponent_002
توی این آموزش میخوایم یه کامپوننت بسازیم که داده هایی که از بکند دریافت میکنیم رو بصورت جدول
و بصورت اتوماتیک به ما نمایش بده .
🔹 سطح : پیشرفته
🔹 پیشنیاز: آشنایی کافی با Blazor
🔹 هدف :درک عمیقی از کامپوننت ها در Blazor
🔹 مباحث :
- Component Life cycle
- Render fragment
- Relation parent and child Component
- Event call back
- Use another custome Component
- Use reflection
- Use Builder design pattern
———-
#dotnet9 #blazor #blazor_component #table
# #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
توی این آموزش میخوایم یه کامپوننت بسازیم که داده هایی که از بکند دریافت میکنیم رو بصورت جدول
و بصورت اتوماتیک به ما نمایش بده .
🔹 سطح : پیشرفته
🔹 پیشنیاز: آشنایی کافی با Blazor
🔹 هدف :درک عمیقی از کامپوننت ها در Blazor
🔹 مباحث :
- Component Life cycle
- Render fragment
- Relation parent and child Component
- Event call back
- Use another custome Component
- Use reflection
- Use Builder design pattern
———-
#dotnet9 #blazor #blazor_component #table
# #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
Media is too big
VIEW IN TELEGRAM
#AspCore_OnlineFood
- Session: 003
پیاده سازی یک آنلاین فود ساده .
🔹 سطح: متوسط
🔹 پیشنیاز: آشنایی اولیه با Rest Api و زبان سیشارپ
🔹 مباحث:
- Minimal Api
- EF migrations
- Product CRUD
- Create Product endpoint
- Update Product endpoint
- Delete Product endpoint
- Get By Id Product endpoint
- Get All Products endpoint
- Swagger configuration
- Example about middleware
- Vertical Slice Architecture (Feature base system)
- Authentication and Authorization
- Login endpoint
- Register endpoint
- Validation token base jwt endpoint
- Get profile current user endpoint base JWT token
- Add custom middleware for Authentication user bearer JWT token
- Add JWTBearer middleware
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes (http://t.me/brain_bytes)]
- Session: 003
پیاده سازی یک آنلاین فود ساده .
🔹 سطح: متوسط
🔹 پیشنیاز: آشنایی اولیه با Rest Api و زبان سیشارپ
🔹 مباحث:
- Minimal Api
- EF migrations
- Product CRUD
- Create Product endpoint
- Update Product endpoint
- Delete Product endpoint
- Get By Id Product endpoint
- Get All Products endpoint
- Swagger configuration
- Example about middleware
- Vertical Slice Architecture (Feature base system)
- Authentication and Authorization
- Login endpoint
- Register endpoint
- Validation token base jwt endpoint
- Get profile current user endpoint base JWT token
- Add custom middleware for Authentication user bearer JWT token
- Add JWTBearer middleware
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes (http://t.me/brain_bytes)]
❤1
Media is too big
VIEW IN TELEGRAM
#Blazor_TableComponent_003
توی این آموزش میخوایم یه کامپوننت بسازیم که داده هایی که از بکند دریافت میکنیم رو بصورت جدول
و بصورت اتوماتیک به ما نمایش بده .
🔹 سطح : پیشرفته
🔹 پیشنیاز: آشنایی کافی با Blazor
🔹 هدف :درک عمیقی از کامپوننت ها در Blazor
🔹 مباحث :
- Component Life cycle
- Render fragment
- Relation parent and child Component
- Event call back
- Use another custome Component
- Use reflection
- Use Builder design pattern
———-
#dotnet9 #blazor #blazor_component #table
# #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
توی این آموزش میخوایم یه کامپوننت بسازیم که داده هایی که از بکند دریافت میکنیم رو بصورت جدول
و بصورت اتوماتیک به ما نمایش بده .
🔹 سطح : پیشرفته
🔹 پیشنیاز: آشنایی کافی با Blazor
🔹 هدف :درک عمیقی از کامپوننت ها در Blazor
🔹 مباحث :
- Component Life cycle
- Render fragment
- Relation parent and child Component
- Event call back
- Use another custome Component
- Use reflection
- Use Builder design pattern
———-
#dotnet9 #blazor #blazor_component #table
# #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
Media is too big
VIEW IN TELEGRAM
#AspCore_OnlineFood
- Session: 004
پیاده سازی یک آنلاین فود ساده .
🔹 سطح: متوسط
🔹 پیشنیاز: آشنایی اولیه با Rest Api و زبان سیشارپ
🔹 مباحث:
- Minimal Api
- EF migrations
- Product CRUD
- Create Product endpoint
- Update Product endpoint
- Delete Product endpoint
- Get By Id Product endpoint
- Get All Products endpoint
- Swagger configuration
- Example about middleware
- Vertical Slice Architecture (Feature base system)
- Authentication and Authorization
- Login endpoint
- Register endpoint
- Validation token base jwt endpoint
- Get profile current user endpoint base JWT token
- Add custom middleware for Authentication user bearer JWT token
- Add JWTBearer middleware
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes (http://t.me/brain_bytes)]
- Session: 004
پیاده سازی یک آنلاین فود ساده .
🔹 سطح: متوسط
🔹 پیشنیاز: آشنایی اولیه با Rest Api و زبان سیشارپ
🔹 مباحث:
- Minimal Api
- EF migrations
- Product CRUD
- Create Product endpoint
- Update Product endpoint
- Delete Product endpoint
- Get By Id Product endpoint
- Get All Products endpoint
- Swagger configuration
- Example about middleware
- Vertical Slice Architecture (Feature base system)
- Authentication and Authorization
- Login endpoint
- Register endpoint
- Validation token base jwt endpoint
- Get profile current user endpoint base JWT token
- Add custom middleware for Authentication user bearer JWT token
- Add JWTBearer middleware
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes (http://t.me/brain_bytes)]
Media is too big
VIEW IN TELEGRAM
#AspCore_OnlineFood
- Session: 005
پیاده سازی یک آنلاین فود ساده .
🔹 سطح: متوسط
🔹 پیشنیاز: آشنایی اولیه با Rest Api و زبان سیشارپ
🔹 مباحث:
- Minimal Api
- EF migrations
- Product CRUD
- Create Product endpoint
- Update Product endpoint
- Delete Product endpoint
- Get By Id Product endpoint
- Get All Products endpoint
- Swagger configuration
- Example about middleware
- Vertical Slice Architecture (Feature base system)
- Authentication and Authorization
- Login endpoint
- Register endpoint
- Validation token base jwt endpoint
- Get profile current user endpoint base JWT token
- Add custom middleware for Authentication user bearer JWT token
- Add JWTBearer middleware
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes (http://t.me/brain_bytes)]
- Session: 005
پیاده سازی یک آنلاین فود ساده .
🔹 سطح: متوسط
🔹 پیشنیاز: آشنایی اولیه با Rest Api و زبان سیشارپ
🔹 مباحث:
- Minimal Api
- EF migrations
- Product CRUD
- Create Product endpoint
- Update Product endpoint
- Delete Product endpoint
- Get By Id Product endpoint
- Get All Products endpoint
- Swagger configuration
- Example about middleware
- Vertical Slice Architecture (Feature base system)
- Authentication and Authorization
- Login endpoint
- Register endpoint
- Validation token base jwt endpoint
- Get profile current user endpoint base JWT token
- Add custom middleware for Authentication user bearer JWT token
- Add JWTBearer middleware
———-
#dotnet9 #aspcore #webapi #minimalapi #restapi #csharp #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes (http://t.me/brain_bytes)]
❤1
Media is too big
VIEW IN TELEGRAM
#Blazor_TableComponent_004
توی این آموزش میخوایم یه کامپوننت بسازیم که داده هایی که از بکند دریافت میکنیم رو بصورت جدول
و بصورت اتوماتیک به ما نمایش بده .
🔹 سطح : پیشرفته
🔹 پیشنیاز: آشنایی کافی با Blazor
🔹 هدف :درک عمیقی از کامپوننت ها در Blazor
🔹 مباحث :
- Component Life cycle
- Render fragment
- Relation parent and child Component
- Event call back
- Use another custome Component
- Use reflection
- Use Builder design pattern
———-
#dotnet9 #blazor #blazor_component #table
# #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
توی این آموزش میخوایم یه کامپوننت بسازیم که داده هایی که از بکند دریافت میکنیم رو بصورت جدول
و بصورت اتوماتیک به ما نمایش بده .
🔹 سطح : پیشرفته
🔹 پیشنیاز: آشنایی کافی با Blazor
🔹 هدف :درک عمیقی از کامپوننت ها در Blazor
🔹 مباحث :
- Component Life cycle
- Render fragment
- Relation parent and child Component
- Event call back
- Use another custome Component
- Use reflection
- Use Builder design pattern
———-
#dotnet9 #blazor #blazor_component #table
# #برنامه_نویسی #آموزش_برنامه_نویسی #دات_نت #سی_شارپ #بک_اند #توسعه_دهنده #آموزش_رایگان #کدنویسی #تکنولوژی #برنامه_نویس #backend #dotnet
#Brain_Bytes
---
🔥 For more hands-on lessons: [t.me/brain_bytes]
