تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
البرمجة المسطحة او الافقية والبرمجة العمودية
#1
حقيقة هي مصطلحات اطلقتها انا فذات يوم تحدتث عن هذا واحدهم قام بالبحث ولم يجد شئ اسمه البرمجة المسطحة او الأفقية
ظهرت فقط عند ظهور ثقنية الدوت نت
بداية دعونا نرى هذا المثال على البرمجة المسطحة
كود :
var john = new Customer { Name = "John Doe" };
   var tv = new Product { Description = "TV Sony 44\"", Price = 799 };
   var iphone = new Product { Description = "iPhone X", Price = 999 };
   var order1 = new Order { OrderDate = new DateTime(2017, 1, 1), Customer = john, Products = new List() { iphone, tv } };
   var order2 = new Order { OrderDate = new DateTime(2017, 10, 1), Customer = john, Products = new List() { iphone } };

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

دعونا نرى مثال على البرمجة العمودية

كود :
var tv = new Product();
        tv.Description = "TV Sony 44\";
        tv.Price = 799;
 
    var iphone = new Product() 
        iphone.Description = "iPhone X", Price = 999;

    var order1 = new Order()
        order1.OrderDate = new DateTime(2017, 1, 1) ;
        order1ustomer = john ;
        order1.OrderDate = new DateTime(2017, 1, 1) ;
        order1ustomer = john ;

    var order2 = new Order  ()
        order2.OrderDate = new DateTime(2017, 10, 1) ;
        order2.Customer = john ;
        order2.OrderDate = new DateTime(2017, 10, 1) ;
        order2.Customer = john ;


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

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

لو بحتث عن قلم موضوع بشكل افقي بين بعض الاغراض ستجد صعوبة في العثور عليه وقد تمر به ولا تراه 
ولكن لو بحتث عنه وهو موضوع بشكل رأسي ستجده بسرعة ويحدد دماغك مكانه في سرعة

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

ارجوا ان تكون الفكرة واضحة
الرد
تم الشكر بواسطة: rnmr , princelovelorn
#2
بارك الله فيك
الكود مكتوب بسي شارب وكلا الطريقتين صحيحة بالنسبة للتعامل مع خصائص الكائنات مهما كان عددها
وفي سي شارب يمكن فصل السطر الى عدة سطور بعد الفاصلة دون حدوث خطأ syntax

الرد
تم الشكر بواسطة: rnmr , rnmr , viv , princelovelorn
#3
نعم صحيح، فالترتيب له دور كبير في عملية التركيز


C#
كود :
var john = new Customer { Name = "John Doe" };
var tv = new Product { Description = "TV Sony 44\"", Price = 799 };
var iphone = new Product { Description = "iPhone X", Price = 999 };
كود :
var order1 = new Order { OrderDate = new DateTime(2017, 1, 1), Customer = john, Products = new List() { iphone, tv } };

var order2 = new Order { OrderDate = new DateTime(2017, 10, 1), Customer = john, Products = new List() { iphone } };
كود :
var order1 = new Order()
   order1.OrderDate = new DateTime(2017, 1, 1) ;
   order1ustomer = john ;
   order1.OrderDate = new DateTime(2017, 1, 1) ;
   order1ustomer = john ;

var order2 = new Order  ()
   order2.OrderDate = new DateTime(2017, 10, 1) ;
   order2.Customer = john ;
   order2.OrderDate = new DateTime(2017, 10, 1) ;
   order2.Customer = john ;
كود :
var order1 = new Order {
       OrderDate = new DateTime(2017, 1, 1),
       Customer = john,
       Products = new List() { iphone, tv }
   };

var order2 = new Order {
       OrderDate = new DateTime(2017, 10, 1),
       Customer = john,
       Products = new List() { iphone }
   };

VB
كود :
Dim john = New Customer() With { .Name = "John Doe" }
Dim tv = New Product() With { .Description = "TV Sony 44""", .Price = 799 }
Dim iphone = new Product() With { .Description = "iPhone X", .Price = 999 }
كود :
Dim order1 = New Order() With { .OrderDate = New DateTime(2017, 1, 1), .Customer = john, .Products = New List() With { .iphone, .tv } }

Dim order2 = New Order() With { .OrderDate = New DateTime(2017, 10, 1), .Customer = john, Products = New List() With { .iphone } }
كود :
Dim order1 = new Order
order1.OrderDate = New DateTime(2017, 1, 1)
order1ustomer = john
order1.OrderDate = New DateTime(2017, 1, 1)
order1ustomer = john

Dim order2 = new Order
order2.OrderDate = new DateTime(2017, 10, 1)
order2.Customer = john
order2.OrderDate = new DateTime(2017, 10, 1)
order2.Customer = john
كود :
Dim order1 = New Order() With {
       .OrderDate = New DateTime(2017, 1, 1),
       .Customer = john,
       .Products = New List() With { .iphone, .tv }
   }

Dim order2 = New Order() With {
       .OrderDate = New DateTime(2017, 10, 1),
       .Customer = john,
       .Products = New List() With{ .iphone }
   }
الرد
تم الشكر بواسطة: viv , princelovelorn


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  لغات البرمجة واستخداماتها والمقارنة بينها esamibrahim111 1 692 31-05-17, 09:28 PM
آخر رد: alma2
Star [مقال] أدوات صغيرة لتحويل المشاريع بين لغات البرمجة VB.net , C++ , C# , Java Mostafa Saad 0 1,468 28-02-15, 09:50 AM
آخر رد: Mostafa Saad
  البرمجة الموجهة بالاختبارات المقبولة ali.alfoly 0 915 12-07-14, 08:30 AM
آخر رد: ali.alfoly
  [مقال] مفهوم الــ Storyboard في البرمجة الشاكي لله 3 7,348 18-12-13, 02:19 AM
آخر رد: abulayth
  كيف نستخدم مميزات Window7 في البرمجة (VB.NET و C#) Osama_Ghareeb 10 3,913 09-07-13, 05:08 PM
آخر رد: مبرمج بلا حدود
  البرمجة بطريقة دفاعية RaggiTech 0 754 27-10-12, 04:27 PM
آخر رد: RaggiTech
  موقع غاية في الأهمية ..ملخصات لغات البرمجة RaggiTech 0 800 08-10-12, 05:49 PM
آخر رد: RaggiTech
  مدخل الى تعلم البرمجة الطقطق حتي السلام عليكم (متجدد) smss 0 1,046 20-09-12, 01:59 AM
آخر رد: smss

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم