تبلیغات
برنامه نویسی شی گرا در سی شارپ

برنامه نویسی شی گرا در سی شارپ

یکشنبه 30 تیر 1392

آموزش سی شارپ قسمت اول

نویسنده: Programmer   

اموزش سی شارپ

پس از مدتی از ایجاد سایت تصیم گرفتیم یک سری فیلم آموزش برنامه نویسی تو سایت قرار بدیم.

برای اولین آموزش آموزش سی شارپ رو بصورت مالتی مدیا و فارسی قرار میدیم سعی میکنیم که آموزش ها رو بصورت سریال واستون قرار بدیم.آموزش حدود 30 فایل هست.

آموزش سری اول

سی‌شارپ (C#) زبانی شیءگرا و سطح بالا (high level) از خانوادهٔ زبان‌های چارچوب دات‌نت شرکت مایکروسافت است.

زبان #C، یک زبان برنامه نویسی چند الگویی است و منظم شده مدل‌های تابعی، امری، عمومی، شی گرا و جز گرا می‌باشد. این زبان توسط ماکروسافت و جزئی از دات نت به وجود آمد و بعداً استانداردهای ECMAو ISO را نیز در بر گرفت. #C یکی از ۴۴ زبان برنامه نویسی ای است که توسط Common Language Runtime از .NET Framework پشتیبانی می‌شوند و در همه جا به وسیله Microsoft Visual Studio شناخته می‌شود.

این زبان برپایه سادگی، مدرن بودن، همه منظوره و شی گرا بودن ساخته شد.Anders Hejlsberg، طراح زبان برنامه نویسی دلفی، سرپرستی تیم طراحان زبان #C را بر عهده داشت.این زبان دارای دستوری شی گرا مشابه ++C است و به شدت از زبان‌های جاوا و دلفی تاثیر پذیرفته‌است.در ابتدا نام این زبان COOL بود که مخفف C like Object Oriented Language بود، هر چند در جولای ۲۰۰۰، زمانی که ماکروسافت پروژه را عمومی اعلام کرد، اسم آن به #C تغییر پیدا کرد.آخرین نسخه آن نسخه ۴ است که از ویژوال استدیو ۲۰۱۰ استفاده می‌کند.


دانلود

شنبه 14 خرداد 1390

شرح پروژه مدیریت شركت بازاریابی-قسمت 4

نویسنده: Programmer   طبقه بندی: آموزش، 

تعیین هویت كاربران:

اگر  تا به حال توجه كرده باشید در اكثر برنامه ها قسمتی را جهت تعیین هویت كاربران و همچنین ایجاد امنیت قرار داده اند كه این برنامه از این امر مثتثنی نیست برای این منظور  كلاسی را با نام User  ایجاد كرده ایم و درون این كلاس دو خاصیت با نام های Username  و Password  تعریف نموده ایم  كه وظیفه آن نگهداری نام كاربری و كلمه عبور میباشد .حال در كلاس....

بقیه مطالب را از
اینجا دانلود كنید

جمعه 13 خرداد 1390

شرح پروژه مدیریت شركت بازاریابی-قسمت 3

نویسنده: Programmer   طبقه بندی: آموزش، 

اضافه كردن پرسنل :

در بخش قبلی با نحوه اضافه كردن بخش جدید آشنایی پیدا كردید  دراین قسمت با نحوه  تعریف یك پرسنل جدید در سیستم آشنا می شویم:

بقیه مطالب را از اینجا دانلود كنید

جمعه 13 خرداد 1390

شرح پروژه مدیریت شركت بازاریابی-قسمت 2

نویسنده: Programmer   طبقه بندی: آموزش، Sample، 

اضافه كردن بخش :

 با توجه به بخش قبلی و همچنین  تجزیه و تحلیل هایی كه قبلا انجام شد به این نتیجه رسیدیم كه باید قسمتی برای اضافه كردن بخش به پروژه اضافه نماییم برای این منظور  یك فرم جدید ایجاد كرده ایم و  با استفاده از ابزار های ویژوال استودیو  فرمی را  مانند شكل زیر طراحی نموده ایم :

بقیه مطالب را از اینجا  دانلود كنید:


جمعه 13 خرداد 1390

شرح پروژه مدیریت شركت بازاریابی-قسمت 1

نویسنده: Programmer   طبقه بندی: آموزش، 

شرح پروژه:

یك شركت بازاریابی در نظر دارد  برخی از  فعالیت های روزمره خود را مكانیزه نماید تا بتواند با سرعت و دقت بیشتری آنها را مدیریت كنید .از این رو سعی كرده ایم تا در این پرو‍ژه برخی از این نیازمندیها را پیاده سازی نمائیم  كه برخی از آنها در زیر درج گردیده است:

تعریف بخش:

هر شركت ممكن است دارای بخش های  مختلفی مانند سخت افزار  و  نرم افزار و ....  باشد.بنابراین باید  این امكان در برنامه وجود داشته باشد تا بتوانیم بخش های مختلف را در آن تعریف  نماییم

تعریف پرسنل:

هر شركت دارای تعدادی پرسنل شاغل است كه در بخش های مختلف مشغول به كارند بنابراین این امكان نیز باید وجود داشته باشد تا پرسنل جدید را در سیستم تعریف كنیم و سپس  بخش هایی كه باید در آن كار كنند را مشخص نماییم

اختصاص پرسنل به بخش:

همانطور كه در بالا  به آن اشاره كردیم این امكان باید وجو داشته باشد تا پرسنل هایی را كه تعریف نموده ایم به بخش های مختلف اختصاص دهیم لازم به ذكر است كه هر پرسنل فقط می تواند در یك بخش شروع به فعالیت نماید.

امنیت:

جهت بالا بردن امنیت فقط كاربران خاصی باید  از برنامه استفاده كنند ،بنابراین باید قسمتی را برای این امر  اختصاص داد.

 

پیاده سازی:

جهت كدنویسی این پروژه از زبان C# و ویژوال استودیو 2010 نسخه Ultimate  استفاده شده است و جهت سهولت در نوشتن كدها از بانك اطلاعاتی جهت ذخیره اطلاعات استفاده نشده است بلكه از یك كلاس كمكی جهت ذخیره اطلاعات استفاده شده است كه در ادامه به تفصیل توضیح داده خواهد شد.

برای كد نویسی قسمت های مختلف قصد داریم تا از تكنیك های شی گرایی استفاده نماییم زیرا درك برنامه را راحت تر می كند و همچنین این امكان را به ما می دهد تا با سرعت  بیشتری كد نویسی را انجام دهیم .


بقیه مطالب را از
اینجا دانلود كنید

جمعه 13 خرداد 1390

برنامه مدیریت شركت بازاریابی

نویسنده: Programmer   طبقه بندی: آموزش، 

همونطور كه قول داده بودم تو این پست سورس كد خلاصه شده برنامه مدیریت شركت بازاریابی رو نوشتم
این برنامه بانك اطلاعاتی نداره و با visual studio 2010  نوشته شده و امیدوارم بتونید تا حدودی مفاهیم شی گرایی رو  از این پروژه یاد بگیرید ..توجه داشته باشید كه توضیحات برنامه رو توی چند قسمت و  در پست های بعدی میزارم براتون
موفق  باشید


لینك دانلود

جمعه 27 اسفند 1389

آموزش entitty framework قسمت اول

نویسنده: Programmer   طبقه بندی: آموزش، 

در این قسمت مختصر توضیحاتی در رابطه با مفاهیم زیر داده شده است كه
در بخش های بعدی سعی میشود تا به تفصیل شرح داده شود:

Domain model
مدل مفهومی
فایل EDMX
روش های كوئری زدن روی مدل مفهومی
متد های سازنده query
پشته ENtity Framework
اصطلاحات مهم در Entity Framework
Entity Container
entittySet
entittyType
Association

دانلود

پنجشنبه 26 اسفند 1389

مقدمه ای بر Entity Framework

نویسنده: Programmer   طبقه بندی: آموزش، 

این مطلب برگرفته از وبلاگ http://alaasabzpoush.blogsky.com با نام صفحه شخصی سید علا سبز پوش میباشد:

مایکروسافت قبل از معرفی  Entity Framework   ، تکنولوژیهای ado , rdo  و سرانجام ado.net  را ارایه کرده بود و برای اکثر این تکنولوژیها زمان زیادی گذاشته بود ، هر کدام از اینها در زمان خود یک تکنولوژی نوینی و حرکت عظیمی بود . اما با گسترش مفاهیم شی گرایی و نیاز مبرم برنامه نویسان به ایجاد اشیا از داده ها و جداول بانکهای اطلاعاتی مایکروسافت اقدام به توسعه تکنولوژی  ado.net کرد و ابتدا امکانات linq  و سپس  Entity Framework  را برای تعامل بهتر با شی گرایی مطرح کرد .

تا قبل از آن برنامه نویسان زمان زیادی را برای برنامه نویسی اشیا جدولهای بانکهای اطلاعاتی و ارتباطات آن صرف می کردند و هر گونه تغییر در جداول بانکها مستلزم تغییرات فراوانی در کد نویسی است .

ابتدا فهرستی از ابزارهای مدل سازی را معرفی می کنم :

 

1-ERM  یا  Entity Relationship Model ابزاری برای مدل سازی پایگاههای داده ای رابطه ای .

2- UML  یا Unified Modeling Language زبان استاندار ماژول سازی اشیا و کلاسها

3-ORM  یا  Object-Relational Mappingروشی و ابزاری برای ایجاد تعامل ماژولار میان اشیا بانکهای اطلاعاتی رابطه ای و زبانهای برنامه نویسی شی گرا

4-DFD یا Data Flow Diagram  ابزاری برای نمایش نموداری از جریان داده ها و فرآیند سیستم

 

البته چند ORM  دیگر هم وجود دارد یکی NHibernate و SPRINT.net هر دوتای آنها از جاوا مشتق شده اند و توانمنیدهای فراوانی دارند اما بحث ما Entity  Framework.Net4       است .

البته لیست بالا لیست کاملی نیست و از حوصله این بحث خارج است .

 

قبل از ورود به بحث Entity Framework  مقدمه ای در مورد Entity Data Model یا مختصرا EDM  باید بیان شود .EDM  در حقیقت پایه و پیش نیاز Entity Framework است و شامل سه model  است

1-مدل مفهومی 2-مدل منطقی 3-مدل ذخیره سازی یا فیزیکی

ما می توانیم بگوییم که EDM  یک نسخه تکامل یافته ERM  است .ما در مدل EDM  در مورد ساختار شی گرای business objects داده ها بحث می کنیم در حالی که در مدل ERM  ما در مورد طرح بانک اطلاعاتی بحث می کنیم .که باید تفاوت میان مدل داده و مدل شی را متوجه شویم ، شکل زیر یک مدل داده را نشان می دهد در حالی که شکل بعدی مدل شی گرا از بانک اطلاعاتی ما را نشان می دهد.





Entity  چیست ؟

ما برای فهم Entity Framework  باید ابتدا مفهوم Entity  را متوجه شویم ، البته بعدا در مورد این مفصلا خواهم نوشت ولی فعلا برای فهم بیشتر مقایسه ای با object  و relational data  انجام می دهم

تشابه Entity  با شی یا object

1-   Entity مانند شی دارای انواع تعریف شده برای داده ها و فیلدها است

2-  Entity  مانند شی دارای خصوصیت یا properties است

3-   هر    Entity  یک هویت متمایزی دارد

4-   یک خصوصیت   Entity  می تواند ارجاعی به Entity  دیگر باشد

 

تفاوت Entity  با شی یا object

1 -Entity  می تواند یک فیلد اصلی یا primary keys داشته باشد

2-Entity  می تواند دارای ارتباطی با Entity  دیگر باشدمانند ارتباطات موجود در بانک اطلاعاتی

 

تشابه Entity  با داده رابطه ای relational data

1-Entity  یک ارتباط چند گانه مانند داده ها با دیگر entity  می تواند داشته باشد

2-Entity   مانند داده ها می تواند کلید اصلی یا primary key داشته باشد

 

تفاوت Entity  با داده رابطه ای relational data

1-Entity  از داده ها با نوع پیچیده  complex typesپشتیبانی می کند

2-Entity  از وراثت موجود در کلاسها پشتیبانی می کند

3-Entity  داده های فیزیکی را ذخیره نمی کند .

 

پس Entity  Framework   چیست ؟

درواقع Entity Framework   تکنولوژی توسعه یافته ADO.Net  است که فاصله بین برنامه نویسی شی گرایی و بانک اطلاعاتی رابطه ای را پر می کند .این فاصله معمولا تحت عنوان عدم تطابق شناخته می شود. و یک تکنیک برنامه نویسی برای تبدیل ارتباطات در Database به مفاهیم Object Oriented در برنامه نویسی است. در واقع می‌توان گفت که کلا‌س ها را به Table ها map می‌کند. وقتی که شما می‌خواهید به Database دسترسی پیدا کنید، یا اطلاعاتی را ذخیره کنید، این کارها را مستقیما بر‌ روی اشیاء ( Object تان ) انجام می‌دهید. Entity  Framework مدل داده ها را به سه بخش تقسیم می کند 1-مدل مفهومی یا ادراکی 2-مدل منطقی 3- مدل فیزیکی


سه شنبه 3 اسفند 1389

خطای Crystal Reports & Framework 4 (Could not load file or assembly crdb_adoplus.dll)

نویسنده: Programmer   طبقه بندی: آموزش، 

اگر در هنگام ایجاد و اجرای گزارش به پیغام
“Could not load file or assembly ‘file:///C:\\Program Files\\SAP BusinessObjects\\SAP BusinessObjects Enterprise XI 4.0\\win32_x86\\dotnet1\\crdb_adoplus.dll’ or one of its dependencies. The system cannot find the file specified.”
بر خورد كردید فایل app.config یا web.config  رو باز كنید و كد های زیر رو توی این فایل ها وارد كنید

<startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0"/>
</startup>


موفق باشید

دوشنبه 2 اسفند 1389

خطای Invalid Keycode در هنگام كار با crystal report

نویسنده: Programmer   

اگر در هنگام كار با crystal report  در ویژوال استودیو 2010 به خطای Invalid keycode  برخورد كردید به این علت است كه ورژن CR شما به پایان رسیده برای همین باید نسخه 13 آن كه كامل میباشد را دانلود كنید ...برای رفع موقت این مشكل تاریخ سیستم خود را به 2010/11/01 تغییر دهید و سیستم خود را ریستارت كنید

شنبه 27 شهریور 1389

کار با Collection ها در C#

نویسنده: Programmer   طبقه بندی: آموزش، 

در این اسلاید مطالب زیر موجود است:

کار با ساختمان داده های پویا


کار با List<T> 

Dictionary

lookup

hashset


دانلود

شنبه 27 شهریور 1389

آموزش کامل Regular Expressions در C#

نویسنده: Programmer   

کار با کلاس Regex ,
.........

و دیگر مطالب مورد نیاز برای کار با Regular Experssions


دانلود

شنبه 27 شهریور 1389

آموزش Unittesting

نویسنده: Programmer   طبقه بندی: آموزش، 

این اسلاید مطالب زیر را در بر میگیرد:

1-آزمایش واحد (UnitTest)  چیست؟

2-چرا از آزمایش واحد استفاده می کنیم؟

3-چرا به خاطر آزمایش واحد خود را به دردسر بیاندازیم؟

4-نوشتن و اجرای یک unittest

5- کار با Nunit

6) موارد استفاده از Mocking Object,

و........

دانلود



یکشنبه 27 تیر 1389

آپلود دوباره فایل ها

نویسنده: Programmer   طبقه بندی: آموزش، 

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

پنجشنبه 24 تیر 1389

آموزش Delegates و Events در C

نویسنده: Programmer   طبقه بندی: آموزش، 

تفاوت میان delegate ,Event:

در زیر چند نمونه از تفاوت های میان این دو را ذکر کرده ام و در ادامه با یک مثال نحوه پیاده سازی آن را نشان خواهم داد:

Delegates

Events

یک تابع اشاره گر است که می تواند آدرس هر تابع دیگری را ذخیره کند

یک آرایه از Delegates  ها می باشند

پلی را برای ارتباط بین کنترل ها وتوابع ایجاد میکند

 

فقط یک تابع را می توانند صدا بزنند

 

 

 

 

مثال: فرض کنید دو فرم داریم یکی با نام Parent  . دیگری با نام Child  حال میخواهیم ترتیبی تثر دهیم تا هنگامی که کاربر در روی دکمه ای در روی فرم child  کلیک می کند رنگ پشت زمینه فرم Parent  تغییر کند ولی این کار به چه نحوی امکان پذیر است زیرا فرم child  از وجود فرم parent  با شی از Parent  با خبر نیست :

راه حل استفاده از Delegate : بدین معنی که شما اشاره گری را با استفاده از delegate  هب بین فرم Parent  و child ایجاد می کنید :

مراحل کار :

در محیط ویژوال استودیو یک پروژه ویندوزی ایجاد نمایید و در فرم با نامهای Parent  و child  به آن اضافه کند حال در فرم parent  یک button  اضافه کند تا با استفاده از آن فرم Child نمایش داده شود

حال در فرمchild  ، یک  button  اضافه کنید تا با کلیک بر روی آن بتوانیم رنگ فرم Parent  را تغییر دهیم . بر روی فرم Child  دوبار کلیک کنید و کد های زیر را در آن وارد نمایید:

 

public delegate void changebackground(Color color);

public event changebackground changebackcolordelegate;

 

حال بر روی دکه خود در همین فرم(Child) دوبار کلیک کنید  و کد های زیر را در آن وارد کنید

        private void button1_Click(object sender, EventArgs e)

        {

            changebackcolordelegate(Color.Yellow);

         

      

 }

 

به فرم Parent  باز گردید و دوبار روی فرم کلیک کنید تا محیط کد نویسی آن باز شود

تابع زبر را درآن وارد کنید:

   private void set_color(Color c)

        {

            this.BackColor = c;

        }

 

حال  بر روی دکمه  خود دوبار کلیک کنید تا محیط کد نویسی آن باز شود و کد های زیر را درآن وارد نمایید

        private void button1_Click(object sender, EventArgs e)

        {

            child frm = new child();

            frm.Show();

            frm.changebackcolordelegate += new child.changebackground(set_color);

        }

با اجرای این برنامه متوجه خواهید شد که وقتی بروی دکمه فرم Child  کلیک می کنید رنگ پشت زمینه فرم Parent  به صورت زرد در خواهد آمد

 

 

آمار وبلاگ

  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
  •