✅ الهيكلية الاحترافية لمشروع Windows Forms مع SQL Server
نوصي بتقسيم المشروع إلى الطبقات التالية (Layers) لتحقيق تنظيم واحترافية:
1. Presentation Layer (واجهة المستخدم - Forms)
يحتوي على النوافذ والواجهات (Windows Forms)
لا يحتوي على منطق التعامل مع قاعدة البيانات مباشرة.
2. Business Logic Layer (BLL)
يحتوي على المنطق الخاص بالعمليات، مثل التحقق من صحة البيانات قبل إرسالها إلى قاعدة البيانات.
3. Data Access Layer (DAL)
مسؤول عن جميع عمليات الاتصال بقاعدة البيانات.
يستخدم SqlConnection و SqlCommand مع SqlParameter.
4. Entities (اختياري)
كائنات
تمثل الجداول في قاعدة البيانات (Class لكل جدول).
🧩 مثال على الهيكل في مشروع Visual Studio
🔌 الاتصال بقاعدة بيانات DATA على .\SQLEXPRESS
MyApp/
│
├── MyApp.Presentation/ ← واجهات المستخدم (Forms)
│ └── MainForm.cs
│
├── MyApp.BLL/ ← منطق الأعمال
│ └── CustomerManager.cs
│
├── MyApp.DAL/ ← طبقة البيانات
│ └── DatabaseHelper.cs
│ └── CustomerRepository.cs
│
├── MyApp.Entities/ ← الكيانات (اختياري)
│ └── Customer.cs
│
└── App.config ← يحتوي على Connection String
1. كتابة Connection String في App.config:
2. استخدام الاتصال داخل الكود:
<configuration>
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=DATA;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
using System.Configuration; using System.Data.SqlClient; public class DatabaseHelper { private readonly string _connectionString; public DatabaseHelper() { _connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; } public SqlConnection GetConnection() { return new SqlConnection(_connectionString); } }
إرسال تعليق