اثر پروانه ای

برنامه نویسی حرفه ای کامپیوتر به زبان سی شارپ - لیست کامل کلمات کلیدی در ʚĭɞ - ßữʈʨɾflỵ ⓔⓕⓕⓔⓒⓣ

اثر پروانه ای

برنامه نویسی حرفه ای کامپیوتر به زبان سی شارپ - لیست کامل کلمات کلیدی در ʚĭɞ - ßữʈʨɾflỵ ⓔⓕⓕⓔⓒⓣ

اثر پروانه ای

اثر پروانه‌ای نام پدیده‌ای است که به دلیل حساسیت سیستم‌های آشوب‌ناک به شرایط اولیه ایجاد می‌شود. این پدیده به این اشاره می‌کند که تغییری کوچک در یک سیستم آشوب‌ناک چون جو سیارهٔ زمین (مثلاً بال‌زدن پروانه) می‌تواند باعث تغییرات شدید (وقوع توفان در کشوری دیگر) در آینده شود.

ایده‌ٔ این‌که پروانه‌ای می‌تواند باعث تغییری آشوبی شود نخستین بار در ۱۹۵۲ در داستان کوتاهی به نام آوای تندر اثر ری بردبری مطرح شد. عبارت «اثر پروانه ای» هم در ۱۹۶۱ در پی مقاله‌ای از ادوارد لورنتس به وجود آمد. وی در صد و سی و نهمین اجلاس ای‌ای‌ای‌اس در سال ۱۹۷۲ مقاله‌ای با این عنوان ارائه داد که «آیا بال‌زدن پروانه‌ای در برزیل می‌تواند باعث ایجاد تندباد در تکزاس شود؟»

آخرین نظرات
  • ۱۳ بهمن ۰۱، ۱۵:۳۱ - حسنا سادات و سما سادات
    عالی

۳۵ مطلب با کلمه‌ی کلیدی «csharp» ثبت شده است

  • ۱
  • ۰

مثال ساده زیر راه استاندارد اعلان رویدادها در یک کلاس پایه ای را نشان می دهد، در نتیجه آنها می توانند از طریق کلاس های مشتق شده هم برپا شوند. این الگو بطور گسترده ای در کلاس های Windows Form در کتابخانه کلاس دات نت فریم وورک استفاده شده اند.
وقتی که شما یک کلاس می سازید که توانایی استفاده به عنوان کلاس پایه برای دیگر کلاس ها را دارد، می بایست به این حقیقت توجه داشته باشید که رویدادها نوعی خاص از وکیل ها هستند که فقط می توانند از داخل کلاسی که آنها را اعلان کرده فراخوانی شوند. کلاس های مشتق شده نمی توانند مستقیما" رویداد هایی که در داخل کلاس پایه تعریف شده است را فراخوانی کنند. هرچند در بعضی مواقع شما ممکن است رویدادی را بخواهید که فقط توانایی فراخوانی توسط کلاس پایه را داشته باشد، در اکثر مواقع، شما می بایست کلاس مشتق شده را قادر سازید که رویدادهای کلاس پایه را فراخوانی کند. برای انجام این کار، شما می توانید یک متد فراخواننده محافظت شده (protected) در کلاس پایه بسازید، بگونه ای که رویداد را دربر بگیرد.کلاس های مشتق شده می توانند با صدا زدن یا بازنویسی (override) کردن این متد فراخواننده، رویداد را بصورت غیر مستقیم فراخوانی نمایند.

  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

برنامه های #C شامل یک یا بیش از یک فایل است. هر فایل می تواند شامل صفر یا تعدادی فضای نام باشد. هر فضای نام می تواند در کنار فضای نام های دیگر (در صورت وجود) حاوی نوع هایی از جمله کلاس، ساختار، رابط، نوع های شمارشی و وکیل ها باشد. اسکلت یک برنامه سی شارپ که حاوی همه این عناصر هست را ببینید:

// A skeleton of a C# program 
using System;
namespace YourNamespace
{
    class YourClass
    {
    }

    struct YourStruct
    {
    }

    interface IYourInterface 
    {
    }

    delegate int YourDelegate();

    enum YourEnum 
    {
    }

    namespace YourNestedNamespace
    {
        struct YourStruct 
        {
        }
    }

    class YourMainClass
    {
        static void Main(string[] args) 
        {
            //Your program starts here...
        }
    }
}
  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

یک زبان برنامه نویسی که برای ساختن برنامه های سازمانی ای که روی دات نت فریم وورک اجرا می شوند، طراحی شده. #C که تکاملی از C و ++C است، شیئ گرا بوده و *type safe است. به این دلیل که بصورت کدمدیریت شده کامپایل شده، از مزایای سرویس های زبان عمومی زمان اجرا ، از جمله همکاری بین زبانی، امنیت و GC (زباله روب) بهره مند شده است.


*type safe : در علم کامپیوتر، به یک زبان برنامه نویسی type safe می گویند، هرگاه آن زبان رفتاری را برای هنگامی که برنامه نویس با یک مقدار بعنوان یک "نوع" که متعلق به آن مقدار نیست مواجه می شود را تعریف کند. ایمنی نوع مستلزم این است که برنامه ها هیچ رفتار تعیین نشده ای نداشته باشند (یعنی معناشناسی آنها کامل باشد). بطور معکوس، یک زبان برنامه نویسی unsafe (مثل C) از عملیاتی مثل دسترسی به مکان های دلخواه از حافظه، که در ضوابط معناشناسی آن زبان تعریف نشده، پشتیبانی می کند.

  • غلامعلی حسینی بهجانی
  • ۱
  • ۰

کلیدواژه ضمینه ای add برای تعریف دسترسی کننده سفارشی رویداد استفاده می شود. این دسترسی کننده در هنگامی که کد مشتری (client code)   رویداد (event) شما را تقبل می کند، فراخوانی می شود. اگر شما یک دسترسی کننده add سفارشی را تأمین کنید، شما باید دسترسی کننده remove را هم تأمین کنید.

مثال

مثال زیر یک event را نشان می دهد که دارای دسترسی کننده های سفارشی add و remove می باشد. برای مثال کامل مقاله چگونه: پیاده سازی رویدادهای رابط (interface events) مراجعه کنید.

class Events : IDrawingObject
{        
    event EventHandler PreDrawEvent;

    event EventHandler IDrawingObject.OnDraw
    {
        add
        {
            lock (PreDrawEvent)
            {
                PreDrawEvent += value;
            }
        }
        remove
        {
            lock (PreDrawEvent)
            {
                PreDrawEvent -= value;
            }
        }
    }
}

شما معمولا نیازی به ارائه دسترسی کننده های سفارشی رویداد مربوط به خودتان ندارید. دسترسی کننده هایی که  در هنگام تعریف event توسط شما بصورت اتوماتیک بوسیله کامپایلر تولید می شوند، برای اکثر سناریوها کافی هستند.

  • غلامعلی حسینی بهجانی
  • ۲
  • ۰

با توجه به اینکه اینجانب خواستار یادگیری زبان برنامه نویسی سی شارپ بودم و منبعی که از همه لحاظ به صورت ساده و مبتدی تمام مبانی سی شارپ را پوشش دهد ، را پیدا نکردم در مردادماه سال 1390 تصمیم گرفتم که یک منبع خارجی از این زبان را پیدا کرده و آن را به فارسی روان برگردانم. از میام منابع متعدد وب سایت Visualcsharptutorials.com را به عنوان منبع ترجمه برگزیدم. در این را با داشتن تسلط کافی بر زبان انگلیسی و با مشقت بسیار توانستم این مهم را به پایان برسانم.

تمام وب سایت به فارسی که حدودا" 1400 صفحه می باشد ، ترجمه شده است. ابتدا لازم دانستم یک قسمت از آن را برای مشاهده و دریافت نظرات و پیشنهادات شما بزرگواران بر روی وب قرار دهم. به محض نتیجه گیری از نظرات و پیشنهادات ارزشمند شما ، تمام متن ترجمه شده را به صورت فصل فصل و صفحه آرایی شده در اختیار عموم قرار خواهم داد.

این کتاب از سطح مقدماتی تا پیشرفته را پوشش می دهد. لطفا" نظرات و پیشنهادات خود را از طریق پست الکترونیک بنده (simplecsharp@gmail.com) یا وب سایت MyGem.ir قسمت سی شارپ مطرح بفرمایید.


چند پاراگراف بالا مقدمه مترجم محترم این کتاب، جناب آقای مهندس یونس ابراهیمی بود که عینا" از اول کتاب حاضر آورده شد. به نظر من کتاب بسیار مفیدی هست. این کتاب شامل 6 بخش مجزا می باشد.

دانلود کتاب

  • غلامعلی حسینی بهجانی