قائمة الطعام
مجانا
التسجيل
الرئيسي  /  تعليم/ المفاهيم الأساسية لمنصة .NET. فهم المفاهيم الأساسية للمكونات الأساسية لـ .NET Framework Net Framework

المفاهيم الأساسية لمنصة .NET. فهم المفاهيم الأساسية للمكونات الأساسية لـ .NET Framework Net Framework

إنها واحدة من لغات البرمجة الأكثر شيوعًا ومتعددة الوظائف والنشطة في تطوير هذه اللحظة... بمساعدتها ، يمكنك تطوير أي برنامج تقريبًا ، بدءًا من أشكال الفوز البسيطة إلى تطبيقات الويب الكبيرة لخادم العميل ، أو حتى تطبيقات الهاتف المحمول وألعاب الكمبيوتر.وهو يعمل على أساس .NET Framework. دعونا نفهم ما هو.

شاهد الفيديو الخاص بي على .NET Framework و C # CLR Runtime

لغة البرمجة C #حديثة نسبيًا ، لكنها اكتسبت ثقة بالفعل. تم إصدار النسخة الأولى في فبراير 2002. أحدث إصدار من اللغة في وقت كتابة هذا التقرير هو C # 7.2 ، والذي تم إصداره في 08/16/2017.

بناء جملة لغة C # ، كما يوحي الاسم ، هو جزء من عائلة اللغة الشبيهة بـ C وهو مشابه للغات الشائعة الأخرى من هذه المجموعة (C ++ ، Java). لذلك ، إذا كنت معتادًا بالفعل على إحدى هذه اللغات ، فسيكون من الأسهل عليك إتقان لغة البرمجة C #.

نظرًا لأن C # هي لغة موجهة للكائنات ، فهي تدعم الوراثة ، وتعدد الأشكال ، والتغليف ، والكتابة المتغيرة القوية ، والتحميل الزائد على المشغل ، والمزيد. سيتم مناقشة كل هذه المفاهيم بالتفصيل في المقالات اللاحقة. باستخدام نموذج التصميم الموجه للكائنات ، يمكنك بسهولة تطوير مشاريع مرنة وواسعة النطاق باستخدام لغة برمجة. مع كل هذا ، يتم إصدار إصدارات جديدة من لغة C # بانتظام ، مما يضيف وظائف جديدة لتبسيط عمر المطور ، وزيادة سرعة التطوير ، وزيادة إنتاجية التطبيق وموثوقيته.

منصة .NET

.الإطار الصافي هي منصة برمجية من الشركةمايكروسوفت السماح بالتطوير في لغات البرمجة المختلفة ، حيث يتم استخدام وقت تشغيل لغة واحدة مشتركة لجميع اللغاتوقت تشغيل اللغة العامة (CLR). وبالتالي ، فإن الميزات الرئيسية لمنصة .NET هي:

  • عبر منصة- .الإطار الصافي بدعم من معظم أنظمة التشغيل الحديثة Windows ، ومن الممكن أيضًا إنشاء تطبيقات مدعومة أنظمة لينوكس، وحتى تطبيقات الجوال.
  • متعدد اللغات- نظرًا لأن الكود المصدري المكتوب بلغة البرمجة المستخدمة يُترجم إلى كود اللغة المشتركة (CIL) ، يصبح من الممكن تطويره بأي لغة برمجة مدعومة ، وحتى استخدام لغات برمجة مختلفة في حل واحد. اللغات المدعومة الأكثر شيوعًا هي C # و VB.NET و C ++ و F #.
  • مكتبة واسعة من الفصول والتقنيات- يوجد كمية كبيرةمكتبات جاهزة للاستخدام لحل المهام الضرورية. غالبًا ما لا تكون هناك حاجة لتنفيذ منطق التطبيق منخفض المستوى على الإطلاق ؛ يكفي استخدام حل جاهز يتم توفيره بسهولة من خلال مدير الحزم nuget. بالإضافة إلى ذلك ، تسمح منصة .NET الأساسية بالتطوير السهل لأي نوع مطلوب تقريبًا البرمجيات.

رمز مُدار وغير مُدار. تجميع JIT

التعليمات البرمجية المدارةهو رمز وقت تشغيل اللغة العامة (CLR) المُدار. هذا يعني أن بيئة التحكم لديها القدرة على تعليق تنفيذ التطبيق والحصول على معلومات محددة حول حالة التطبيق في أي وقت أثناء تنفيذه. يتم ترجمة الكود المصدري للغة البرمجة المستخدمة إلى كود CIL المدار (ويسمى أيضًا المجمّع عالي المستوى).

بعد إنشاء مكتبة أو تطبيق للفصل الدراسي ، يستمر تخزين الكود المصدري بلغة CIL. وعندما يتم تشغيل التطبيق أو الوصول إلى المكتبة ، Just-In-Time ( جيت) تجميع التطبيق في كود الآلة الخاص بالبيئة التي يتم فيها تنفيذ التطبيق. في الوقت نفسه ، هناك ميزة مهمة وهي أنه يتم تجميع هذا الجزء فقط من التطبيق أو المكتبة الذي يتم الوصول إليه (وبالطبع الروابط). هذا يسمح لك بزيادة أداء النظام وحفظ الموارد.

كود غير مُدارهو رمز تمت ترجمته مباشرة إلى كود قابل للتنفيذ آليًا ويتم تنفيذه بواسطة نظام التشغيل مباشرةً.

أيضا ، أوصي بقراءة المقال. واشترك أيضًا في مجموعة VKontakte و Telegram و YouTube. هناك المزيد من المعلومات المفيدة والمثيرة للاهتمام للمبرمجين.

مفهوم البيئة. العوامل البيئية وتصنيفها

يستخدم مصطلح "البيئة" في علم البيئة بالمعنى الواسع والضيق للكلمة. بالمعنى الواسع للكلمة ، البيئة هي البيئة. البيئة هي مجمل كل ظروف الحياة الموجودة على كوكب الأرض. عالم الأحياء الأمريكي ب. إرليش في كتابه "الانفجار السكاني" ، الذي نُشر في أواخر الستينيات ، لذلك تميز البيئة مجازيًا: "بيئتنا هي" جلد "فريد من التربة والمياه والغلاف الجوي والمغذيات المعدنية والكائنات الحية ، تغطية كوكب غير ملحوظ على خلاف ذلك ". البيئة بالمعنى الضيق للكلمة هي الموطن. الموطن هو ذلك الجزء من الطبيعة الذي يحيط بالكائن الحي والذي يتفاعل معه مباشرة. موطن كل كائن حي متنوع وقابل للتغيير. وهو يتألف من عناصر كثيرة ذات طبيعة مفعمة بالحيوية وغير حية وعناصر أدخلها الإنسان كنتيجة لنشاطه الاقتصادي.
جميع عناصر البيئة فيما يتعلق بالجسم غير متساوية: بعضها يؤثر على نشاطها الحيوي ، والبعض الآخر غير مبال به. في هذا الصدد ، قم بتجميع جميع عناصر البيئة على النحو التالي.
1. العوامل المحايدة هي تلك العناصر البيئية التي لا تؤثر على الجسم ولا تسبب أي تفاعل فيه.
2. العوامل البيئية هي تلك العناصر البيئية القادرة على التأثير بشكل مباشر أو غير مباشر على الجسم على الأقل خلال إحدى مراحل تطوره الفردي والتسبب في حصوله على استجابة تكيفية محددة.
تتنوع العوامل البيئية للبيئة ، ولها طبيعة مختلفة وخصوصية العمل. حسب أهميتها بالنسبة للجسم ، تنقسم إلى مجموعتين:
1. شروط الوجود أو ظروف الحياة هي تلك العوامل البيئية التي بدونها لا يمكن للكائن أن يوجد والتي يكون معها واحدًا لا ينفصم. يؤدي عدم وجود واحد على الأقل من هذه العوامل إلى موت الكائن الحي.
2. العوامل الثانوية هي تلك العوامل البيئية التي ليست حيوية ، ولكن يمكن تعديل وجود الكائن الحي أو تحسينه أو تدهوره.
يسمح تحليل مجموعة كبيرة ومتنوعة من العوامل البيئية حسب طبيعة أصلها بتقسيمها إلى ثلاث مجموعات كبيرة ، في كل منها ، يمكن تمييز المجموعات الفرعية بدورها:
1. العوامل اللاأحيائية هي عوامل ذات طبيعة غير حية تؤثر بشكل مباشر أو غير مباشر على الجسم. وهي مقسمة إلى أربع مجموعات فرعية:
أ) العوامل المناخية هي جميع العوامل التي تشكل المناخ وقادرة على التأثير في حياة الكائنات الحية (الضوء ، ودرجة الحرارة ، والرطوبة ، والضغط الجوي ، وسرعة الرياح ، وما إلى ذلك) ؛
ب) عوامل التربة أو التربة هي خصائص التربة التي تؤثر على حياة الكائنات الحية. وهي ، بدورها ، مقسمة إلى فيزيائية (التركيب الميكانيكي ، التكتل ، الشعيرات الدموية ، دورة العمل ، نفاذية الهواء والرطوبة ، سعة الهواء والرطوبة ، الكثافة ، اللون ، إلخ) وخصائص التربة الكيميائية (الحموضة ، التركيب المعدني ، محتوى الدبال) ؛
ج) العوامل الأوروغرافية ، أو عوامل الإغاثة ، هي تأثير طبيعة وخصوصية التضاريس على حياة الكائنات (ارتفاع التضاريس فوق مستوى سطح البحر ، وخط عرض التضاريس بالنسبة لخط الاستواء ، وانحدار التضاريس هي زاوية ميل الأرض إلى الأفق ، وتعريض التضاريس هو موضع التضاريس بالنسبة للنقاط الأساسية) ؛
د) العوامل المائية الفيزيائية هي تأثير الماء في جميع الحالات (سائلة ، صلبة ، غازية) والعوامل الفيزيائية للبيئة (الضوضاء والاهتزاز والجاذبية والإشعاع المغناطيسي والكهرومغناطيسي والمؤين) على حياة الكائنات الحية.
ثانيًا. العوامل الحيوية هي عوامل الطبيعة الحية ، وتأثير الكائنات الحية على بعضها البعض. إنها ذات طبيعة متنوعة ولا تعمل فقط بشكل مباشر ، ولكن أيضًا بشكل غير مباشر من خلال الطبيعة غير العضوية المحيطة. اعتمادًا على نوع الكائن الحي المؤثر ، يتم تقسيمهم إلى مجموعتين:
أ) العوامل غير المحددة هي تأثير الأفراد من نفس النوع على الكائن الحي (الأرنب على الأرنب ، والصنوبر على الصنوبر ، وما إلى ذلك) ؛
ب) العوامل متعددة النوعية هي تأثير الأفراد من الأنواع الأخرى على الجسم (الذئب على الأرنب ، الصنوبر على البتولا ، إلخ).
اعتمادًا على الانتماء إلى مملكة معينة ، يتم تقسيم العوامل الحيوية إلى أربع مجموعات رئيسية:
أ) العوامل النباتية هي تأثير النباتات على الجسم ؛
ب) العوامل الحيوانية المنشأ هي تأثير الحيوانات على الجسم.
ج) العوامل الميكروبية هي تأثير الكائنات الحية الدقيقة (الفيروسات والبكتيريا والأوليات والريكتسيا) على الجسم ؛
د) العوامل الفطرية هي تأثير الفطريات على الجسم.
ثالثا. العوامل البشرية هي مجموعة من التأثيرات البشرية على حياة الكائنات الحية. اعتمادًا على طبيعة التأثيرات ، يتم تقسيمها إلى مجموعتين:
أ) عوامل التأثير المباشر هي التأثير المباشر للإنسان على الجسم (جز العشب ، وإزالة الغابات ، وإطلاق النار على الحيوانات ، وصيد الأسماك ، وما إلى ذلك) ؛
ب) عوامل التأثير غير المباشر - هذا هو تأثير الشخص بحقيقة وجوده (كل عام ، في عملية تنفس الناس ، يدخل 1.1 × 1012 كجم من ثاني أكسيد الكربون إلى الغلاف الجوي ويتم سحب 2.7 × 1015 كيلو كالوري من الطاقة من البيئة في شكل غذاء) ومن خلال الأنشطة الاقتصادية (الزراعة ، الصناعة ، النقل ، الأنشطة المنزلية ، إلخ).
اعتمادًا على عواقب التعرض ، تنقسم كلتا المجموعتين من العوامل البشرية ، بدورها ، إلى عوامل إيجابية (زراعة النباتات وتغذيتها ، تربية الحيوانات وحمايتها ، حماية البيئة ، إلخ) ، والتي تعمل على تحسين حياة الكائنات الحية أو زيادة عددها ، والعوامل السلبية (قطع الأشجار ، والتلوث البيئي ، وتدمير الموائل ، وإنشاء الطرق وغيرها من الاتصالات) التي تؤدي إلى تفاقم حياة الكائنات الحية أو تقليل أعدادها.
التصنيف الأصلي للعوامل البيئية حسب درجة ثباتها ، أي. وفقًا لتواترها ، اقترح أ.س. Monchadskiy. وفقًا لهذا التصنيف ، يتم تمييز المجموعات الثلاث التالية من العوامل.
1. العوامل الدورية الأولية - هذه هي العوامل التي بدأ عملها قبل ظهور الحياة على الأرض وكان على الكائنات الحية أن تتكيف معها على الفور (دورية الإضاءة اليومية ، الدورية الموسمية للمواسم ، إيقاعات القمر ، إلخ).
2. العوامل الدورية الثانوية هي عوامل ناتجة عن عوامل دورية أولية (الرطوبة ، درجة الحرارة ، ديناميات الغذاء ، محتوى الغاز في الماء ، إلخ).
3. العوامل غير الدورية هي العوامل التي ليس لها دورية أو دورية صحيحة (عوامل تكوينية ، عوامل بشرية المنشأ ، محتوى الملوثات في الماء ، الجو أو التربة ، إلخ).
اعتمادًا على طبيعة التغيير بمرور الوقت ، يتم أيضًا تقسيم العوامل البيئية إلى ثلاث مجموعات:
1. العوامل الدورية المنتظمة هي العوامل التي تغير قوتها اعتمادًا على الوقت من اليوم ، أو موسم السنة أو إيقاع المد والجذر (الإضاءة ، ودرجة الحرارة ، وطول ساعات النهار ، وما إلى ذلك).
2. العوامل غير المنتظمة هي عوامل ليس لها تواتر محدد بوضوح (عوامل مناخية في سنوات مختلفة ، عوامل ذات أصل كارثي نتيجة الفيضانات ، الأعاصير ، الزلازل ، إلخ).
3. العوامل الاتجاهية هي عوامل تعمل على مدى فترة طويلة من الزمن في اتجاه واحد (تبريد أو ارتفاع درجة حرارة المناخ ، فرط نمو الخزان ، الرعي في مكان واحد ، إلخ).
حسب طبيعة استجابة الجسم لتأثير عامل بيئي ، يتم تمييز المجموعات التالية من العوامل البيئية:
1. المهيجات هي عوامل تسبب تغيرات تكيفية في الوظائف الفسيولوجية والتفاعلات البيوكيميائية.
2. المعدلات هي العوامل التي تسبب تغيرات تشريحية ومورفولوجية تكيفية في الجسم.
3. المحددات هي العوامل التي تجعل من المستحيل التواجد في هذه الظروف وتحد من البيئة لانتشار الكائن الحي.
4. التنبيهات هي عوامل تشير إلى حدوث تغيير في العوامل الأخرى وتعمل كإشارة تحذير.
اعتمادًا على إمكانية الاستهلاك عند التفاعل مع الجسم ، تنقسم العوامل البيئية إلى فئتين:
1. الظروف هي العوامل البيئية للبيئة التي تتغير في الزمان والمكان ، والتي يتفاعل معها الجسم بشكل مختلف اعتمادًا على قوة العامل (درجة الحرارة ، الرطوبة ، الضغط الجوي ، الخصائص الفيزيائية للتربة ، إلخ). الشروط لا يستهلكها الجسم ولا يستنفد.
2. الموارد هي جميع العوامل البيئية للبيئة التي يستهلكها الكائن الحي ، ويستهلكها بمعنى أن مقدارها (العرض المتاح) نتيجة للتفاعل مع الكائن الحي يمكن أن ينخفض. الموارد هي في الغالب المواد التي يتكون منها جسم الكائن الحي ، والطاقة المشاركة في عمليات نشاطه الحيوي ، وكذلك الأماكن التي تحدث فيها مراحل معينة من دورة حياته.
بالإضافة إلى التصنيفات المذكورة أعلاه للعوامل البيئية في علم البيئة ، يتم استخدام تصنيفات أخرى ، والتي تستند إلى معايير مختلفة حسب اهتمامات الباحث.

مقدمة

المنصة هي على الأقل بيئة تنفيذ برنامج و ... شيء آخر يحدد ميزات تطوير وتنفيذ كود البرنامج - نماذج البرمجة ، لغات البرمجة ، العديد من الفئات الأساسية.

Microsoft .NET (.NET Framework) عبارة عن منصة برمجية. يحتوي على المكونات الرئيسية التالية: وقت تشغيل اللغة العامة (CLR) ومكتبة فئة .NET Framework (.NET FCL).

CLS (مواصفات اللغة العامة) هي مواصفات عامة للغات البرمجة. إنها مجموعة من التركيبات والقيود التي توجه كتّاب المكتبات والمترجمين في .NET Framework. يمكن استخدام المكتبات التي تم إنشاؤها وفقًا لـ CLS من أي لغة برمجة تدعم CLS. يمكن أن تتكامل اللغات المتوافقة مع CLS (بما في ذلك Visual C # و Visual Basic و Visual C ++) مع بعضها البعض. CLS هو الأساس للاتصال عبر اللغات داخل منصة Microsoft .NET.

CLR (وقت تشغيل اللغة العامة) - بيئة وقت التشغيل أو الجهاز الظاهري. يتيح تنفيذ التجميع. المكون الأساسي لـ .NET Framework. تحت آلة افتراضيةفهم تجريد مغلف (منفصل) مُدار نظام التشغيلعالي المستوى ، والذي يضمن تنفيذ كود البرنامج ويفترض حل المهام التالية:

§ إدارة الكود (التحميل والتنفيذ) ،

§ إدارة الذاكرة عند وضع الأشياء ،

§ عزل ذاكرة التطبيق,

§ التحقق من أمان الكود ،

§ تحويل اللغة الوسيطة إلى كود الآلة ،

§ الوصول إلى البيانات الوصفية (معلومات موسعة حول الأنواع) ،

§ معالجة الاستثناءات ، بما في ذلك الاستثناءات عبر اللغات ،

§ التفاعل بين الكود المُدار وغير المُدار (بما في ذلك كائنات COM) ،

§ دعم خدمات التطوير (التنميط ، التصحيح ، إلخ).

باختصار ، CLR عبارة عن مجموعة من الخدمات المطلوبة لأداء بناء. حيث كود البرنامجيمكن إدارة التجميعات (رمز يتسبب في تشغيل CLR لنظام إدارة الذاكرة) أو غير مُدار (رمز "قديم").

يتكون CLR نفسه من مكونين رئيسيين: kernel (mscoree.dll) ومكتبة الفئة الأساسية (mscorlib.dll). يعد وجود هذه الملفات على القرص علامة أكيدة على أن الكمبيوتر على الأقل قد حاول تثبيت .NET framework.

يتم تنفيذ kernel وقت التشغيل كمكتبة mscoree.dll. عند ربط التجميع ، يتم تضمين معلومات خاصة فيه ، والتي ، عند تشغيل التطبيق (EXE) أو عند تحميل المكتبة (استدعاء DLL من وحدة نمطية غير مُدارة - استدعاء وظيفة LoadLibrary لتحميل تجميع مُدار) ، يؤدي إلى تحميل وتهيئة CLR. بعد تحميل CLR في مساحة عنوان العملية ، يقوم نواة وقت التشغيل بما يلي:

§ يجد موقع التجمع ،

يقوم بتحميل التجميع في الذاكرة ،

§ يحلل محتويات التجميع (يحدد الفئات ، الهياكل ، الواجهات) ،

§ يحلل البيانات الوصفية ،

يوفر تجميعًا لرمز اللغة الوسيطة (IL) في تعليمات خاصة بالمنصة (رمز التجميع) ،

§ يقوم بإجراء الفحوصات المتعلقة بـ الأمان,

§ باستخدام الخيط الرئيسي للتطبيق ، ينقل التحكم إلى جزء كود التجميع المحول إلى أوامر المعالج.

FCL (.NET Framework Class Library) عبارة عن مكتبة كائنية متوافقة مع CLS من الفئات والواجهات وأنظمة الكتابة (أنواع القيم) المضمنة في نظام Microsoft .NET الأساسي.

توفر هذه المكتبة الوصول إلى وظائفالنظام والمقصود منه أن يكون أساسًا لتطوير تطبيقات .NET والمكونات والضوابط.

مكتبة فئة NET هي مكون CLR الثاني.

يمكن استخدام NET FCL بواسطة جميع تطبيقات .NET ، بغض النظر عن الغرض ، العمارة المستخدمة في تطوير لغة البرمجة. على وجه الخصوص ، يحتوي على:

§ أنواع مدمجة (أولية) ، ممثلة بفئات (على منصة .NET ، كل شيء مبني على هياكل أو فئات) ،

§ فئات لتطوير واجهة مستخدم رسومية (نموذج Windows) ،

§ فئات لتطوير تطبيقات الويب وخدمات الويب القائمة على تقنية ASP.NET (نماذج الويب) ،

§ فئات لتطوير XML وبروتوكولات الإنترنت (FTP ، HTTP ، SMTP ، SOAP) ،

§ فئات لتطوير التطبيقات التي تعمل مع قواعد البيانات (ADO.NET) ،

§ وأكثر بكثير.

NET هو تطبيق مصمم للتشغيل على منصة Microsoft .NET. يتم تنفيذه في لغات البرمجة المقابلة لـ CLS.

MSIL (Microsoft Intermediate Language ، المعروف أيضًا باسم IL - Intermedia Language) هي لغة وسيطة لمنصة Microsoft.NET. تمت كتابة الأكواد المصدرية للبرامج الخاصة بتطبيقات .NET بلغات البرمجة التي تتوافق مع مواصفات CLS. بالنسبة إلى لغات البرمجة المتوافقة مع مواصفات CLS ، يمكن إنشاء محول إلى MSIL. وبالتالي ، يمكن ترجمة البرامج بهذه اللغات إلى كود وسيط في MSIL. من خلال الامتثال لـ CLS ، فإن ترجمة التعليمات البرمجية المكتوبة بلغات مختلفة تنتج كود IL متوافق.

في الواقع ، MSIL هو مجمع معالج افتراضي.

البيانات الوصفية - عند تحويل رمز البرنامج إلى MSIL ، يتم أيضًا تكوين كتلة METADATA تحتوي على معلومات حول البيانات المستخدمة في البرنامج. في الواقع ، هذه مجموعات من الجداول تحتوي على معلومات حول أنواع البيانات المحددة في الوحدة النمطية ، حول أنواع البيانات التي تشير إليها هذه الوحدة. في السابق ، تم تخزين هذه المعلومات بشكل منفصل. على سبيل المثال ، قد يتضمن التطبيق معلومات الواجهة التي تم وصفها في لغة تعريف الواجهة (IDL). أصبحت البيانات الوصفية الآن جزءًا من الوحدة النمطية المُدارة.

على وجه الخصوص ، يتم استخدام البيانات الوصفية من أجل:

§ حفظ المعلومات عن الأنواع. لم تعد ملفات الرأس والمكتبة مطلوبة أثناء التجميع. يقرأ المترجم جميع المعلومات الضرورية مباشرة من الوحدات المدارة ،

§ التحقق من الكود أثناء تنفيذ الوحدة ،

§ إدارة الذاكرة الديناميكية (تحرير الذاكرة) أثناء تنفيذ الوحدة ،

§ عند تطوير برنامج بالمعيار الأجهزة(Microsoft Visual Studio.NET)

§ يوفر موجه ديناميكي (IntelliSense) استنادًا إلى البيانات الوصفية.

اللغات التي يتم تنفيذ الترجمة من أجلها إلى MSIL:

والعديد من اللغات.

وحدة قابلة للتنفيذ - بغض النظر عن المترجم (ولغة الإدخال) ، فإن ترجمة تطبيق .NET هي وحدة نمطية قابلة للتنفيذ مُدارة (وحدة مُدارة). إنه ملف Windows Portable قابل للتنفيذ (PE) قياسي.

يتم عرض عناصر الوحدة المدارة في الجدول.

وحدة مُدارة تحتوي على كود مُدار.

الكود المُدار هو رمز يتم تشغيله في CLR. تم بناء الكود على أساس الهياكل والفئات المعلنة في الوحدة المصدر ، والتي تحتوي على تعريفات الطريقة. يجب أن تحتوي التعليمات البرمجية المُدارة على مستوى معين من المعلومات (البيانات الوصفية) لوقت التشغيل. تتم إدارة التعليمات البرمجية لـ C # و Visual Basic و JScript افتراضيًا. لا تتم إدارة التعليمات البرمجية لـ Visual C ++ بشكل افتراضي ، ولكن يمكن للمجمع إنشاء تعليمات برمجية مُدارة عن طريق تحديد وسيطة في سطر الأوامر (/ clr). تتمثل إحدى ميزات التعليمات البرمجية المُدارة في توفر الآليات التي تتيح لك العمل مع البيانات المُدارة.

البيانات المُدارة هي كائنات يتم تخصيصها ، أثناء تنفيذ رمز الوحدة النمطية ، في الذاكرة المُدارة (في الكومة المُدارة) ويتم تدميرها بواسطة مُجمع القمامة CLR. تتم إدارة بيانات C # و Visual Basic و JScript .NET افتراضيًا. يمكن أيضًا وضع علامة على بيانات C # على أنها غير مُدارة.

التجميع هو اللبنة الأساسية لتطبيق ما في .NET Framework. يتم دمج الوحدات المدارة في التجميعات. التجميع هو تجميع منطقي لواحد أو أكثر من الوحدات النمطية المُدارة أو ملفات الموارد. تعمل الوحدات النمطية المُدارة في التجميعات في بيئة وقت التشغيل (CLR). يمكن أن يكون التجميع إما تطبيقًا قابلاً للتنفيذ (وفي هذه الحالة يكون موجودًا في ملف بملحق .EXE) أو وحدة مكتبة (في ملف بامتداد .DLL). في الوقت نفسه ، لا علاقة للتجميع بالتطبيقات القابلة للتنفيذ والوحدات النمطية للمكتبة العادية (الطراز القديم!).

إعلان الجمعية (مانيفست) - مكونالجمعية العامة. مجموعة أخرى من جداول البيانات الوصفية:

§ يحدد التجميع في شكل اسم نص ونسخته وثقافته وتوقيعه الرقمي (إذا كان التجميع مشتركًا بين التطبيقات) ،

§ تحدد الملفات المضمنة في التكوين (بالاسم والتجزئة) ،

§ يشير إلى الأنواع والموارد الموجودة في التجميع ، بما في ذلك وصف تلك التي تم تصديرها من التجميع ،

§ يسرد التبعيات على التجميعات الأخرى ،

§ يشير إلى مجموعة الحقوق المطلوبة للتجميع للعمل بشكل صحيح.

يتم استخدام هذه المعلومات في وقت التشغيل لدعم التشغيل الصحيح للتطبيق.

لا يستطيع المعالج تنفيذ كود IL. ويتم تنفيذ ترجمة كود IL بواسطة مترجم JIT (في الوقت المناسب - في الوقت المناسب) ، والذي يتم تنشيطه بواسطة CLR حسب الحاجة ويتم تنفيذه بواسطة المعالج. في هذه الحالة ، يتم حفظ نتائج مترجم JIT بتنسيق ذاكرة الوصول العشوائي... يتم إنشاء تطابق بين جزء كود IL المترجم وكتلة الذاكرة المقابلة ، مما يسمح أيضًا لـ CLR بنقل التحكم إلى تعليمات المعالج المكتوبة في كتلة الذاكرة هذه ، متجاوزًا المكالمات المتكررة إلى مترجم JIT.

يسمح CLR بالتعاون والتفاعل بين مكونات البرامج المنفذة بلغات البرمجة المختلفة.

استنادًا إلى كتلة البيانات الوصفية التي تم إنشاؤها مسبقًا ، توفر CLR إمكانية التشغيل التفاعلي الفعال لتطبيقات .NET القابلة للتنفيذ.

بالنسبة لـ CLR ، جميع التجميعات هي نفسها ، بغض النظر عن لغات البرمجة التي تمت كتابتها بها. الشيء الرئيسي هو أنهم يمتثلون لـ CLS. في الواقع ، يكسر CLR حدود لغات البرمجة (إمكانية التشغيل البيني عبر اللغات). وبالتالي ، بفضل CLS و CTS ، أصبحت تطبيقات .NET في الواقع تطبيقات MSIL (IL).

يحل CLR العديد من المشكلات التي كانت تقليديًا محور تركيز مطوري التطبيقات. تشمل الوظائف التي يؤديها CLR ما يلي:

§ التحقق والتجميع الديناميكي (JIT) لرمز MSIL في تعليمات المعالج ،

§ إدارة الذاكرة والعمليات والخيوط ،

§ تنظيم تفاعل العمليات ،

§ حل المشكلات الأمنية (في إطار السياسة الأمنية الموجودة في النظام).

AppDomain عبارة عن حاوية تجميع منطقية تُستخدم لعزل تطبيق داخل مساحة العنوان الخاصة بالعملية. يتم إنشاء جميع الكائنات التي تم إنشاؤها بواسطة تطبيق داخل مجال تطبيق معين. يمكن أن توجد مجالات تطبيق متعددة في نفس عملية نظام التشغيل. تعزل CLR التطبيقات عن طريق إدارة الذاكرة داخل مجال التطبيق.

الكود الذي يتم تشغيله في CLR (عملية CLR) منفصل عن العمليات الأخرى التي تعمل على الكمبيوتر في نفس الوقت.

يبدأ النظام عملية عادية ضمن مساحة عنوان مخصصة لهذه العملية. يوفر CLR القدرة على تشغيل العديد من التطبيقات المدارة في عملية واحدة. كل تطبيق مُداريرتبط بنطاق التطبيق الخاص (اختصار AppDomain). بالإضافة إلى المجال الرئيسي ، يمكن إنشاء عدة مجالات إضافية في التطبيق.

يظهر هيكل وقت تشغيل CLR في الصورة.

خصائص المجال:

§ المجالات معزولة عن بعضها البعض. الكائنات التي تم إنشاؤها داخل مجال واحد غير متوفرة من مجال آخر ،

CLR قادر على تفريغ المجالات مع كل التجميعات المرتبطة بهذه المجالات ،

§ إمكانية تكوين وحماية إضافية للمجالات ،

§ يتم تنفيذ آلية خاصة لتبادل البيانات بين المجالات وصول آمن(تنظيم).

طور B.NET Framework نموذج المكون الخاص به ، وعناصره عبارة عن تجميعات .NET (تجميع .NET) ، وللتوافق المباشر والخلفي مع نموذج COM / COM + ، يحتوي CLR على آليات مضمنة (COM Interop) التي توفر الوصول إلى كائنات COM بواسطة قواعد .NET والتجميعات .NET بواسطة قواعد COM. في الوقت نفسه ، بالنسبة لتطبيقات .NET ، يتم تسجيل المكونات بتنسيق سجل النظامشبابيك.

لتشغيل تطبيق .NET ، ما عليك سوى وضع ملف هذا التطبيقالتجميعات في نفس الدليل. إذا كان من الممكن استخدام التجميع في العديد من التطبيقات في نفس الوقت ، فسيتم وضعه وتسجيله باستخدام فائدة خاصةفي GAC (ذاكرة التخزين المؤقت للتجميع العالمي).

CTS - نظام النوع المشترك النظام القياسيأنواع. مدعوم من قبل جميع لغات النظام الأساسي. نظرًا لحقيقة أن .NET هي تابعة لـ OOP ، فإننا نتحدث هنا عن الأنواع الأولية والفئات والهياكل والواجهات والمفوضين والتعداد.

يعد نظام النوع المشترك جزءًا مهمًا من وقت التشغيل ، فهو يحدد بنية بناء الجملة ، وكيفية الإعلان عن الأنواع الشائعة لوقت التشغيل واستخدامها وتطبيقها. يحتوي CTS على معلومات أساسية حول نظام الأنواع العامة المحددة مسبقًا ، حول استخدامها وإدارتها (قواعد تحويل القيم). تلعب CTS دورًا مهمًا في تكامل التطبيقات المُدارة متعددة اللغات.

مساحة الاسم هي طريقة لتنظيم نظام الكتابة في مجموعة واحدة. توجد مكتبة عامة مشتركة لفئات القاعدة اللغوية. ويضمن مفهوم مساحة الاسم التنظيم والتنقل الفعال في هذه المكتبة. بغض النظر عن لغة البرمجة ، يتم توفير الوصول إلى فئات معينة من خلال تجميعها في مساحات الأسماء الشائعة.

مساحة الاسم ميعاد
نظام
بيانات النظام للوصول إلى قواعد البيانات
System.Data.Common
System.Data.OleDb
System.Data.SqlClient
System.Collections فصول للعمل مع كائنات الحاوية
نظام التشخيص فئات لتتبع وتصحيح التعليمات البرمجية
نظام الرسم فصول دعم الرسومات
System.Drawing.Drawing2D
System.Drawing.Printing
System.IO دعم الإدخال / الإخراج
System.Net دعم نقل البيانات عبر الشبكات
النظام. التفكير العمل مع الأنواع المخصصة في وقت التشغيل
النظام ، التفكير
System.Runtime.InteropServices دعم إمكانية التشغيل البيني مع "التعليمات البرمجية العادية" - مكتبات DLL وخوادم COM ، الوصول عن بعد
System.Runtime. عن بعد
أمن النظام التشفير والأذونات
النظام العمل مع تيارات
النظام العمل مع تطبيقات الويب
System.Windows.Form العمل مع العناصر واجهة Windows
System.XML دعم بيانات XML

تنفيذ الملفات التنفيذية غير المُدارة (شائع تطبيقات الويندوز) يتم توفيره مباشرة بواسطة Windows. الوحدات غير المُدارة تعمل في بيئة Windowsكعمليات "بسيطة". الشرط الوحيد الذي يجب أن تفي به هذه الوحدات هو التشغيل الصحيح في بيئة Windows. يجب أن تعمل "بشكل صحيح" (لا تعطل النظام ، وتمنع تسرب الذاكرة ، ولا تمنع العمليات الأخرى ، وتستخدم بشكل صحيح وسائل نظام التشغيل نفسه للعمل نيابة عن العمليات). هذا هو ، لتتناسب مع أكثر من غيرها قواعد عامةالعمل تحت Windows.

في الوقت نفسه ، فإن معظم مشاكل التنفيذ الصحيح لوحدة نمطية غير مُدارة (مشاكل التفاعل وتخصيص الذاكرة وتحريرها) هي مشاكل مطوري التطبيقات. على سبيل المثال ، تعد تقنية COM المعروفة طريقة لتنظيم تفاعل المكونات المتباينة داخل التطبيق.

الكائن - بالمعنى الواسع ، هو مساحة من الذاكرة (مكدس أو كومة) ، يتم تخصيصها أثناء تنفيذ البرنامج لكتابة أي قيم. يتميز بنوع (مجموعة ثابتة من الخصائص التي تحدد حجم المنطقة المشغولة ، طريقة لتفسير قيمة ، نطاق من القيم ، مجموعة من الإجراءات المسموح بها عند معالجة كائن) موقع في الذاكرة (عنوان ).

جمع البيانات المهملة آلية تسمح لـ CLR بتحديد متى يصبح الكائن غير متاح في الذاكرة التي يديرها البرنامج. جمع البيانات المهملة يحرر الذاكرة المدارة. بالنسبة لمطور التطبيق ، فإن وجود آلية لجمع البيانات المهملة يعني أنه لم يعد مضطرًا للقلق بشأن تحرير الذاكرة. ومع ذلك ، قد يتطلب هذا تغييرًا في أسلوب البرمجة ، على سبيل المثال ، إيلاء اهتمام خاص لإجراء تحرير موارد النظام. من الضروري تنفيذ طرق إلغاء التخصيص موارد النظاميديرها التطبيق.

المكدس هو منطقة ذاكرة منظمة بشكل خاص مخصصة للتخزين المؤقت لقيم الكائن (المتغيرات والثوابت) ، لتمرير المعلمات عند استدعاء الطرق ، لتخزين عنوان الإرجاع. تعد إدارة المكدس أمرًا سهلاً إلى حد ما مقارنةً بالكومة. يعتمد على تغيير قيمة السجل المقابل في الجزء العلوي من المكدس. عندما يتم تقليل حجم المكدس ، يتم فقد الكائنات ببساطة.

برنامج C #

البرنامج عبارة عن سلسلة من العبارات جيدة التكوين (لا يرفضها مترجم C #) ، والتي على أساسها يتم تشكيل التجميع.

بشكل عام ، يقوم المبرمج بإنشاء ملف يحتوي على تعريفات الفئة ، والتي يتم تغذيتها إلى المترجم. يتم تمثيل نتيجة التجميع من قبل المترجم كمجموعة ويتم تحديدها من خلال تفضيلات المبرمج. من حيث المبدأ ، يمكن أن يكون التجميع من نوعين:

ملف قابل للتنفيذ محمول (ملف PE بملحق exe.) ، مناسب للتنفيذ المباشر لـ CLR ،

§ ملف مكتبة الارتباط الديناميكي (ملف DLL بامتداد dll) مخصص لإعادة استخدامه كمكون لأي تطبيق.

في أي حال ، بناءً على كود الإدخال ، يقوم المترجم ببناء وحدة IL ، وبيان ، ويشكل تجميعًا. في المستقبل ، يمكن إجراء التجميع بعد تجميع JIT ، أو يمكن استخدامه كجزء من برامج أخرى.

أنواع تطبيقات .NET

يمكن استخدام لغة C # لإنشاء تطبيقات وحدة التحكم - التطبيقات النصية التي تعمل في نافذة DOS. على الأرجح ، سيتم استخدام هذه التطبيقات لاختبار مكتبات الفصل. ومع ذلك ، في أغلب الأحيان ، يجب استخدام C # لإنشاء تطبيقات تصل إلى العديد من التقنيات المرتبطة بـ .NET. تقدم هذه المقالة نظرة عامة سريعة على أنواع التطبيقات المختلفة التي يمكنك كتابتها في C #.

بناء تطبيقات ASP.NET

أدى الظهور المبكر لـ ASP.NET 1.0 إلى تغيير نموذج برمجة الويب بشكل أساسي. ASP.NET 4 هو الإصدار الأقدم للمنتج وهو مبني على التطورات السابقة. يقدم ASP.NET 4 خطوات اختراق رئيسية لتكون أكثر إنتاجية. الهدف الرئيسي من ASP.NET 4 هو تمكينك من إنشاء تطبيقات قوية وآمنة وديناميكية بأقل قدر ممكن من التعليمات البرمجية.

ميزات ASP.NET

الأول ، وربما الأكثر أهمية ، هو تلك الصفحات منظم... وهذا يعني أن كل صفحة هي ، في الواقع ، فئة موروثة منها فئة .NET System.Web.UI.Page، والتي يمكنها تجاوز مجموعة من الطرق التي يتم استدعاؤها أثناء دورة حياة كائن الصفحة. (يمكنك التفكير في هذه الأحداث على أنها أشقاء أحداث خاصة بصفحة معينة OnApplication_Startو OnSession_Startالتي تأتي في ملفات global.asax في ASP الكلاسيكية.) نظرًا لأنه يمكن تقسيم وظائف الصفحات إلى معالجات أحداث لأغراض محددة ، فإن صفحات ASP.NET أسهل في الفهم.

شيء جميل آخر حول صفحات ASP.NET هو أنه يمكنك إنشاؤها في Visual Sludio 2010 ، نفس البيئة التي ترمز لمنطق العمل ومكونات الوصول إلى البيانات التي تستخدمها نفس صفحات ASP.NET. يحتوي مشروع أو حل Visual Studio 2010 على جميع الملفات المرتبطة بالتطبيق. علاوة على ذلك ، يمكن تصحيح صفحات ASP الكلاسيكية مباشرة في المحرر. في ايام زمانفيما يتعلق بـ Visual InterDev ، كانت هناك حاجة مزعجة لتكوين InterDev على وجه التحديد وخادم الويب الخاص بالمشروع لتمكين تصحيح الأخطاء.

من أجل الوضوح ، تسمح لك أداة ASP.NET code-behind بتوسيع النهج المنظم إلى أبعد من ذلك. يسمح لك ASP.NET بعزل وظيفة الخادم لصفحة في فئة ، وتجميع تلك الفئة مع الصفحات الأخرى في DLL ، ووضع DLL هذا في دليل أسفل جزء HTML. يقوم التوجيهPage في بداية الصفحة بربط هذا الملف بالفئة. عندما يطلب المستعرض صفحة ، يقوم خادم الويب بإنشاء أحداث في الفصل الموجود في ملف فئة الصفحة.

أخيرًا وليس آخرًا ، خاصية ASP.NET التي يجب ذكرها هي زيادة الأداء. بينما يتم تفسير صفحات ASP الكلاسيكية في كل مرة يتم فيها الوصول إلى الصفحة ، يتم تخزين صفحات ASP.NET مؤقتًا على خادم الويب بعد التجميع. هذا يعني أن كافة الطلبات اللاحقة لصفحات ASP.NET أسرع من الأولى.

يعمل ASP.NET أيضًا على تسهيل كتابة الصفحات التي تعرض النماذج في المستعرض التي يمكن تطبيقها عليها شبكة الشركة... تتمثل وجهة النظر التقليدية للتطبيقات الموجهة بالنموذج في أنها توفر واجهة مستخدم غنية ، ولكن يصعب صيانتها لأنها تعمل على العديد من أجهزة العملاء. لهذا السبب ، يعتمد الأشخاص فقط على التطبيقات التي تركز على النموذج عندما يحتاجون إلى واجهة غنية ويمكنهم تقديم دعم موثوق لمستخدميهم.

نماذج الويب

لتبسيط تصميم صفحات الويب بشكل أكبر ، يوفر Visual Studio 2010 مكتبة نماذج الويب. تتيح لك هذه الأداة إنشاء صفحات ASP.NET بيانياً ، تمامًا مثل النوافذ التي يتم إنشاؤها في Visual Basic 6 وفي C ++ Builder. بمعنى آخر ، ستحتاج إلى سحب عناصر التحكم الضرورية من مربع الأدوات إلى سطح النموذج ، ثم تعديل رمز النموذج قليلاً وكتابة معالجات الأحداث لعناصر التحكم. عند استخدام C # لإنشاء نموذج ويب ، يمكنك إنشاء فئة C # ترث من الفئة الأساسية صفحة، وصفحة ASP.NET تعرض هذه الفئة على أنها خلف التعليمات البرمجية الخاصة بها. بالطبع ، ليس عليك استخدام C # لإنشاء نموذج الويب الخاص بك ؛ يمكنك أيضًا استخدام Visual Basic 2010 أو أي لغة أخرى تعتمد على .NET للقيام بذلك.

في الماضي ، أدى تعقيد تطوير الويب إلى منع بعض فرق التطوير من محاولة إتقانه. لكي تنجح في تطوير تطبيقات الويب ، كان عليك معرفة الكثير تقنيات مختلفةمثل VBScript و ASP و DHTML و JavaScript وما إلى ذلك. أدى تطبيق مفاهيم نماذج الويب على صفحات الويب إلى تسهيل إنشاء تطبيقات الويب.

ضوابط خادم الويب

لا تعتبر عناصر التحكم المستخدمة في نماذج الويب عناصر تحكم بالمعنى نفسه الذي تكون فيه عناصر تحكم ActiveX. بدلاً من ذلك ، فهي عبارة عن واصفات XML تنتمي إلى مساحة اسم ASP.NET التي يحولها مستعرض الويب ديناميكيًا إلى واصفات HTML والبرامج النصية من جانب العميل عند طلب الصفحة. من المثير للدهشة أن خادم الويب يمكنه عرض نفس عناصر التحكم من جانب الخادم طرق مختلفةمن خلال إنشاء تحويل مناسب لمتصفح الويب المحدد الذي قدم الطلب. هذا يعني أنه يمكنك الآن بسهولة إنشاء واجهات مستخدم مثالية لصفحات الويب دون الحاجة إلى القلق بشأن كيفية جعل الصفحة تعمل في أي من المتصفحات المتاحة - تهتم نماذج الويب بذلك.

خدمات ويب XML

اليوم ، تشكل صفحات HTML غالبية حركة المرور على شبكة الويب العالمية. ومع ذلك ، باستخدام XML ، تحصل أجهزة الكمبيوتر على تنسيق مستقل عن الجهاز يمكن استخدامه للتواصل عبر الإنترنت. في المستقبل ، يمكن لأجهزة الكمبيوتر استخدام XML لتبادل المعلومات ، بدلاً من إرسال الرسائل إلى بعضها البعض عبر الخطوط المؤجرة بتنسيق خاص مثل EDI (تبادل البيانات الإلكترونية). تم تصميم XML Web Services لبيئة ويب تتمحور حول الخدمة ، حيث توفر أجهزة الكمبيوتر البعيدة معلومات ديناميكية لبعضها البعض يمكن تحليلها وإعادة تنسيقها قبل تقديم العرض التقديمي النهائي للمستخدم. تعد خدمات ويب XML طريقة سهلة لأجهزة الكمبيوتر لتوفير المعلومات في شكل XML لأجهزة الكمبيوتر الأخرى على الإنترنت.

من الناحية الفنية ، خدمة ويب .NET XML هي صفحة ASP.NET تقوم بإرجاع XML بدلاً من HTML عندما يطلبها العملاء. تعتمد مثل هذه الصفحات على مكتبات DLL ذات التعليمات البرمجية التي تحتوي على فئات موروثة من WebService. يوفر Visual Studio 2010 IDE آلية تسهل إنشاء خدمات الويب.

قد تختار مؤسسة أو منظمة خدمات ويب XML لسببين رئيسيين. السبب الأول هو أنها تعتمد على HTTP ؛ يمكن لخدمات الويب استخدام الشبكات القائمة على HTTP كوسطاء لنقل المعلومات. سبب آخر هو أنه نظرًا لأن XML Web Services تستخدم XML ، فإن تنسيق البيانات المرسلة هو توثيق ذاتي ومفتوح ومستقل عن النظام الأساسي.

إنشاء نماذج Windows

على الرغم من أن C # و .NET مصممان خصيصًا لتطوير الويب ، إلا أنهما لا يزالان يدعمان ما يسمى بتطبيقات العميل الدهني - أي. التطبيقات التي يجب تثبيتها على جهاز المستخدم النهائي ، حيث تتم معظم المعالجة. يتم توفير ذلك من خلال مكتبة نماذج Windows.

ومع ذلك ، إذا كنت قد بدأت في تعلم .NET framework ، فسأفعل لا أوصيتعلم نماذج Windows وانتقل مباشرة إلى أحدث تقنيات WPF.

مؤسسة عرض Windows (WPF)

واحد من أحدث التقنياتتعد Windows Presentation Foundation (WPF) ثورية. يعتمد WPF على استخدام XAML عند إنشاء التطبيقات. XAML تعني لغة ترميز التطبيق الموسعة - لغة ترميز التطبيقات القابلة للتوسيع. هذه الطريقة الجديدة لإنشاء التطبيقات داخل بيئة Microsoft ، التي تم تقديمها لأول مرة في عام 2006 ، هي جزء من .NET Framework 3.0 و 3.5 و 4. وهذا يعني أنه لتشغيل أي تطبيق WPF ، يجب التأكد من تثبيت جهاز العميل . NET Framework 3.0 أو 3.5 أو 4. تتوفر تطبيقات WPF لأنظمة التشغيل Windows 7 و Windows Vista و Windows XP و مشغل برامج وندوز 2003 و Windows Server 2008 (تسمح أنظمة التشغيل هذه فقط بتثبيت .NET Framework 3.0 أو 3.5 أو 4).

XAML هو إعلان XML يستخدم لإنشاء نماذج تمثل جميع الجوانب المرئية وسلوك تطبيقات WPF. نظرًا لأنه يمكنك العمل مع تطبيق WPF برمجيًا ، فإن هذه التقنية تمثل خطوة نحو البرمجة التصريحية التي تتجه الصناعة بأكملها نحوها اليوم. تعني البرمجة التصريحية أنه بدلاً من إنشاء كائنات عن طريق كتابة التعليمات البرمجية بلغة مجمعة مثل C # أو VB أو Java ، يتم الإعلان عن كل شيء باستخدام برمجة تشبه XML.

خدمات الويندوز

خدمة Windows (تسمى في الأصل NT Service) هي برنامج مصمم للتشغيل في الخلفية تحت Windows NT / 2000 / XP / 2003 / Vista / 7 (ولكن ليس Windows 9x). هذه الخدمات مفيدة عندما تحتاج إلى تنظيم التشغيل المستمر للبرامج الجاهزة للاستجابة للأحداث ، دون الحاجة إلى بدء تشغيلها صراحة بمبادرة من المستخدم. وخير مثال على ذلك هو خدمة الويب العالمية على خوادم الويب التي تستمع لطلبات الويب من العملاء.

من السهل جدًا تطوير الخدمات في C #. في مساحة الاسم النظام ، الخدمة ، العمليةتتوفر فئات إطار عمل .NET التي تتيح لك حل معظم المهام المعيارية المرتبطة بـ خدمات النظام... بالإضافة إلى ذلك ، يسمح لك Visual Studio .NET بإنشاء مشروع خدمة Windows C # يستخدم التعليمات البرمجية المصدر C # لإنشاء خدمة Windows.

مؤسسة اتصالات Windows (WCF)

أثناء استكشافك للطرق التي تنقل بها تقنيات Microsoft البيانات والخدمات من نقطة إلى أخرى ، ستجد أن لديك مجموعة متنوعة من الحلول الممكنة تحت تصرفك. على سبيل المثال ، يمكنك استخدام ASP.NET Web Services أو .NET Remote Technology أو Enterprise Services أو MSMQ. ما هي التكنولوجيا التي يجب أن تختارها؟ إن الإجابة على هذا السؤال تمليها ما تحاول تحقيقه ، حيث يتم تفضيل كل من هذه التقنيات في موقف معين.

مع وضع ذلك في الاعتبار ، جمعت Microsoft بالفعل كل هذه التقنيات معًا ، وفي .NET Framework 3.0 وإدراجه في .NET Framework 3.5 و 4 ، توجد طريقة واحدة لنقل البيانات - Windows Communication Foundation (WCF). توفر مكتبة WCF القدرة على إنشاء خدمة مبدئيًا ثم تقديم تلك الخدمة بطرق مختلفة (حتى عبر بروتوكولات مختلفة) مع تغيير بسيط ملف التكوين. WCFهي أداة جديدة قوية للغاية لربط الأنظمة الموزعة.

مؤسسة سير عمل Windows (WF)

تم تقديم Windows Workflow Foundation (WF) لأول مرة في .NET Framework 3.0 ، ولكنه خضع الآن لإصلاح كبير سيجده الكثيرون الآن أكثر فائدة. ستجد أن تجربة WF قد تم تحسينها بشكل كبير في Visual Studio 2010 ، مما يجعل إنشاء مهام سير العمل الخاصة بك أسهل بكثير. ستجد أيضًا عناصر تحكم جديدة في التدفق ، وفئة Flowchart ، وعددًا من الإجراءات الجديدة مثل DoWhile و ForEach و ParallelForEach.

بسبب ال. صافي The Framework هو نظام أساسي قوي لتطوير التطبيقات ، فهو يسمح لك بتطوير تطبيقات من أنواع مختلفة تمامًا.

· تطبيقات سطح المكتب (التطبيقات التي تعمل على الكمبيوتر المحلي للمستخدم).

· تطبيقات الويب (التطبيقات التي تعمل داخل خادم الويب والمتاحة للمستخدم من خلال متصفح ضمن بروتوكول HTTP / HTTPS) ؛

· تطبيقات الويب ذات واجهة المستخدم الغنية (التطبيقات التي يتم تسليمها للمستخدم عبر بروتوكول HTTP / HTTPS داخل المتصفح ويتم تنفيذها من جانب العميل) ؛

· خدمات الويب (رمز البرنامج الذي يتم تنفيذه على جانب الخادم ويمكن استدعاؤه من العميل لتلقي أي بيانات أو إجراء عملية) ؛

· تطبيقات الجوال (التطبيقات التي تعمل على الأجهزة المحمولة).

لكل من الأنواع التالية من التطبيقات ، يتم استخدام ملف. صافيالإطار هناك تقنيات ذات صلة تسمح لك بإنشاء تطبيقات. بجانب، . صافييحتوي الإطار على مكتبات مشتركة يمكن استخدامها عبر أنواع مختلفة من التطبيقات. تتضمن هذه المكتبات مكتبات:

· للعمل مع الأوتار.

· للعمل مع الوظائف الرياضية.

· للعمل مع الرسومات.

· الوصول إلى البيانات.

· العمل مع الملفات وعمليات الإدخال والإخراج الأخرى.

· القيام بعمليات التشفير.

· تنظيم مزامنة البيانات بين مصادر البيانات.

· وعدد هائل من المكتبات الأخرى.

دعنا نلقي نظرة عامة على كل نوع من أنواع التطبيقات. كما هو مذكور أعلاه ، لكل نوع من أنواع التطبيقات في النظام الأساسي. صافيالإطار ، هناك قوالب مشاريع خاصة.

تطبيقات سطح المكتبتختلف في أنها تعمل مباشرة على كمبيوتر المستخدم. هذا هو أكثر أنواع التطبيقات شيوعًا. عادةً ما تحتوي تطبيقات سطح المكتب على ملفات التمكن منإلى موارد كمبيوتر المستخدم ، مثل HDD, معدات الصوتإلخ. تشمل مزايا هذا النوع من التطبيقات التفاعلواجهة المستخدم والقدرة على تشغيل التطبيق بغض النظر عن اتصال الشبكة إنترنتوغيرها من الموارد. ومع ذلك ، لكي تعمل هذه التطبيقات ، يجب تثبيتها على المستوى المحلي الحاسوب.

يمكن تقسيم تطبيقات سطح المكتب إلى ثلاثة أنواع - تطبيقات النوافذ وتطبيقات وحدة التحكم والخدمات شبابيك... تطبيقات Windowed لها واجهة رسومية... عادة ما تأخذ تطبيقات وحدة التحكم شكل سطر أوامر ، و واجهه المستخدمهذه التطبيقات تعتمد على النصوص وليست رسومية. أخيرًا ، الخدمات شبابيكليس لديك واجهة مستخدم على الإطلاق ، ولكن تعمل في الخلفية.

لإنشاء تطبيقات واجهة المستخدم الرسومية ذات النوافذ داخل النظام الأساسي. صافييمكن استخدام تقنيات الإطار شبابيكالنماذج (متوفرة بدءًا من. صافيإطار 1.0) و مؤسسة Windows Presentation(متاح من. صافيالإطار 3.0). أحدث التقنيات هي أحدث وأكثر واعدة.


تطبيقات الويبتختلف عن سطح المكتب في أنها تعمل عن بعد على خادم ويب. المستعمليستفيد من قوة تطبيقات الويب من خلال متصفح وبروتوكول HTTP/ HTTPS. ميزة هذا النوع من التطبيقات هي أنه ليست هناك حاجة لتثبيتها عليها الحاسوبكل مستخدم - زائدةيحتاج إلى التثبيت على الويب الخادم، وبعد ذلك يصبح متاحًا لجميع المستخدمين. ومع ذلك ، فإن عيب هذه التطبيقات هو القدرة المحدودة على بناء واجهات المستخدم. هذا بسبب الحقيقة بأن واجهة المستخدممبني على أساس التنسيقات لغة البرمجة, CSSوجافا سكريبت ، وهي محدودة للغاية. لذلك ، عادة ما تكون وظيفة واجهات المستخدم محدودة للغاية.

نظرًا لأن تطبيقات الويب بها عيب خطير - إمكانيات محدودة علىتشكيل واجهة المستخدم - ظهر نوع جديد من التطبيقات يسمى تطبيقات الإنترنت الغنيةأو تطبيقات الإنترنت الغنية (RIA)... أيديولوجية هذه التطبيقات هي أن في المتصفحدمج خاص إضافة(البرنامج المساعد) القادر على عرض ملفات نوع المحتوى... بعد ذلك متى المستخدميفتح الصفحة في المتصفح ، وينتقل رمز البرنامج إلى جانب العميل ، والذي يعمل في إطار هذه الوظيفة الإضافية. نظرًا لأنه في هذه الحالة تتم معالجة جميع التعليمات البرمجية من جانب العميل ، فإن المطورين لديهم المزيد من الفرص. علىتشكيل واجهات المستخدم.

توجد العديد من التقنيات لبناء هذا النوع من التطبيقات. تعد تقنية Adobe واحدة من أفضل التقنيات المعروفة فلاش... بالإضافة إلى ذلك ، هناك التكنولوجيا مايكروسوفت سيلفرلايت، والذي يسمح لك بالتكامل بشكل ملائم مع بقية التقنيات في إطار العمل. صافينطاق.

نوع آخر من التطبيقات خدمات(أو خدمات الويب). الخدمات هي نوع من كود البرنامج الموجود على الخادم ويتم تشغيله علىطلب من المستخدم. على سبيل المثال ، يمكنك إنشاء مجموعة من الخدمات علىالعمل مع البيانات من قاعدة البياناتالمخزنة على الخادم. عادةً ما تصل أنواع التطبيقات الأخرى (تطبيقات سطح المكتب وتطبيقات الويب وما إلى ذلك) إلى الخدمات من أجل إجراء عملية على الخادم أو تلقي البيانات من الخادم.

داخل المنصة. صافيالإطار ، هناك عدد من التقنيات التي تسمح لك بإنشاء الخدمات. أقدم التقنيات ASP.شبكة الويبخدمات. يسمح لك بإنشاء خدمات ويب بسيطة تعمل علىبروتوكول HTTP/ HTTPS. مزيد من التطويرأصبحت التكنولوجيا مؤسسة اتصالات Windows(WCF). هذه المنصة هي الأداة الأقوى والأكثر مرونة التي تدعم أنواع مختلفةقنوات ( HTTP, TCP، والأنابيب المسماة ، وما إلى ذلك) ويوسع بشكل كبير من قدرات المطور علىخلق الخدمات.

هناك أيضًا فروع إضافية لمشروع WCF - هذا هو WCF خلاصاتالامتدادات (WCF REST) ​​و ADO.بيانات NETخدمات. تم تصميم هذه المشاريع لتسهيل إنشاء خدمات الوصول إلى البيانات.

أخيرًا ، آخر نوع من التطبيقات هو تطبيقات الهاتف الجوال. تطبيقات الهاتف الجوالالعمل داخل الأجهزة المحمولة على أساس نظام التشغيل ويندوز موبايل... بالنسبة للأجهزة المحمولة ، يوجد أيضًا تنفيذ لمجموعة فرعية من الإمكانات. صافييسمى الإطار. NET Compactنطاق.

وبالتالي ، فإن النطاق الكامل للتقنيات داخل المنصة. صافييمكن تمثيل الإطار من خلال الرسم البياني التالي.