اشتراکها
Professional REST API design with ASP.NET Core and WebAPI
This project is an example of lightweight and extensible infrastructure for building RESTful Web API with ASP.NET Core.
This example contains a number of tricks and techniques which I've learned while building APIs in ASP.NET Core.
Techniques and Features
- JWT Authentication
- Secure JWT using Encryption (JWE)
- Logging to File, Console and Database using Elmah & NLog
- Logging to sentry.io (Log Management System)
- Exception Handling using Custom Middleware
- Automatic Validation
- Standard API Resulting
- Dependency Injection using Autofac
- Map resources using AutoMapper
- Async/Await Best Practices
- Versioning Management
- Using Swagger (Swashbuckle)
- Auto Document Generator for Swagger
- Integrate Swagger and Versioning
- Integrate Swagger and JWT/OAuth Authentication
- Best Practices for Performance and Security
بازخوردهای دوره
انتقال خودکار Data Annotations از مدلها به ViewModelهای ASP.NET MVC به کمک AutoMapper
مدل اصلی عموما همان domain models هستند؛ برای مثال مدلهای EF و EF از این ویژگیها جهت تنظیم ساختار بانک اطلاعاتی و همچنین اعتبارسنجی خاص خودش استفاده میکند. بنابراین قلب طراحی مدلهای سیستم، مدلهای domain هستند و view models صرفا کاربرد نمایش سفارشی اطلاعات و همچنین کاهش سطح در معرض دید قرار گرفتن مدلهای domain را جهت بهبود وضعیت امنیتی سیستم، دارند.
اشتراکها
مقایسهای بین Xamarin.Forms و MAUI
Xamarin.Forms vs MAUI
| Xamarin.Forms | MAUI |
---|---|---|
Platforms | | |
Android | API 19+ | API 21+ |
iOS | 9-14 | 10+ |
Linux | Community | Community |
macOS | Community | Microsoft |
Tizen | Samsung | Samsung |
Windows | UWP Microsoft WPF Community | Microsoft |
Features | | |
Renderers | Tightly coupled to BindableObject | Loosely coupled, no Core dependencies |
App Models | MVVM, RxUI | MVVM, RxUI, MVU, Blazor |
Single Project | No | Yes |
Multi-targeting | No | Yes |
Multi-window | No | Yes |
Misc | | |
.NET | Xamarin.iOS, Xamarin.Android, Mono, .NET Framework, ... | .NET 6+ |
Acquisition | NuGet & Visual Studio Installer | dotnet |
Project System | Franken-proj | SDK Style |
dotnet CLI | No | Yes |
Tools | | |
Visual Studio 2019 | Yes | Yes |
Visual Studio 2019 for Mac | Yes | Yes |
Visual Studio Code | No | Yes |
مطالب
UML و VS2010
یک دورهی نسبتا مفصل مدلسازی سیستم و سپس ترسیم نمودارهای UML مرتبط با آن به کمک ابزارهای جدید VS2010 اخیرا به سایت channel9 اضافه شده است که لیست آن به شرح زیر است:
UML with VS 2010 Part 1: Brainstorming a Project
UML with VS 2010 Part 2: Organizing Features Into Use Cases
UML with VS 2010 Part 3: Modeling the Business Domain
UML with VS 2010 Part 4: Capturing Business Workflows
UML with VS 2010 Part 5: Architecting an Application
UML with VS 2010 Part 6: Designing a Project's Physical Structure
UML with VS 2010 Part 7: Sketching Interactions with Sequence Diagrams
UML with VS 2010 Part 8: Revealing Responsibilities with Class Diagrams
UML with VS 2010 Part 9: Organizing and Managing Your Models
UML with VS 2010 Part 2: Organizing Features Into Use Cases
UML with VS 2010 Part 3: Modeling the Business Domain
UML with VS 2010 Part 4: Capturing Business Workflows
UML with VS 2010 Part 5: Architecting an Application
UML with VS 2010 Part 6: Designing a Project's Physical Structure
UML with VS 2010 Part 7: Sketching Interactions with Sequence Diagrams
UML with VS 2010 Part 8: Revealing Responsibilities with Class Diagrams
UML with VS 2010 Part 9: Organizing and Managing Your Models
طی ماههای اخیر مجموعه ای سه گانه از مقالات الگوهای طراحی در Code Project منتشر شدهاند.
قسمت اول - الگوهای سازنده (Best C# article of July 2012 - Best overall article of July 2012)
قسمت دوم - الگوهای ساختاری
نظرات مطالب
ASP.NET MVC #5
سلام،
برای اینکار اصطلاحا از ViewModel استفاده میکنند. یک کلاس درست کنید مثلا به نام ReportViewModel که در پوشه Models قرار میگیره. بعد خواص عمومی این کلاس، شامل مدلهایی خواهد بود که مد نظر شما است. به این ترتیب میشود چندین و چند مدل رو به View انتقال داد.
برای اینکار اصطلاحا از ViewModel استفاده میکنند. یک کلاس درست کنید مثلا به نام ReportViewModel که در پوشه Models قرار میگیره. بعد خواص عمومی این کلاس، شامل مدلهایی خواهد بود که مد نظر شما است. به این ترتیب میشود چندین و چند مدل رو به View انتقال داد.
بایدی وجود ندارد در این حالت و بهتر است که اینگونه باشد یا حتی مخلوطی از این دو در عمل:
Pros and Cons of Data Transfer Objects
In large projects with so many entities, DTOs add a remarkable level of (extra) complexity and work to do. In short, a pure, 100% DTO solution is often just a 100 percent painful solution