نمایش نتایج 1 تا 35 از 35

نام تاپیک: برنامه نویسی لایه ای

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    مشهد
    پست
    498

    برنامه نویسی لایه ای

    سلام دوستان، میشه یکم در مورد برنامه نویسی لایه ای توضیح بدید. چی است و برای چی بکار میره؟؟؟؟؟؟؟؟؟؟؟؟؟؟ اصلا چه مواقعی باید از اون استفاده کرد. مزیتش چیست؟؟؟؟؟؟؟
    با تشکر

  2. #2
    برنامه چند لایه چیست؟

    در معماری چند لایه تمام برنامه به چندین بخش تقسیم می شود. این بخش ها می توانند فیزیکی یا منطقی باشند. هر بخش کار خاصی را انجام می دهد مثلا نمایش اینترفیس کاربر یا دسترسی به داده ها. برنامه می تواند به هر تعداد لایه داشته باشد ولی به هر حال بیشتر برنامه ها سه لایه مجزا دارند که عبارتند از :
    1- Presentation Layer
    2- Business Logic Layer
    3- Data Access Layer

    همان طور که احتمالا حدس زده اید، لایه Presentation چیزی نیست به جز بخشی از نرم افزار که با کاربر برنامه شما ارتباط برقرار می کند ( اینترفیس برنامه شماست ) نمایش داده ها به کاربر نهایی و اجازه به آنان برای ارتباط داشتن با داده ها، اصلی ترین وظیفه این لایه است.

    در بیشتر موارد داده هایی که توسط کاربر وارد می شوند نیاز به اعتبارسنجی یا پردازش اضافی دارند. این مسوولیت لایه Business Logic است.

    در نهایت داده های برنامه شما نیاز به ذخیره و بازیابی از طریق یک انبار داده دارند ( مثلا سیستم مدیریت دیتابیس های رابطه ای یا RDBMS و یا XML , .. ) این وظیفه توسط لایه دسترسی به داده انجام می شود.

    به طور خلاصه، فرآیند مورد نظر ما این گونه کار می کند:

    - کاربر برای داده های برنامه درخواستی ارسال می کند.
    - لایه Data Access داده های مورد نظر را بازیابی می کند و از طریق لایه Business Logic آن ها را به لایه نمایش می فرستد.بعضی مواقع لایه دسترسی به داده ها، این داده ها را مستقیما به لایه نمایش ارسال می کند.
    - لایه نمایش اطلاعاتی که باید نمایش داده شوند را از طریق لایه Business Logic دریافت می کند.
    - کاربر داده ها را تغییر می دهد و عمل مناسب در مورد آن ها را اجرا می کند ( مثل اضافه یا به روز کردن داده ها )
    - لایه Business Logic صحت داده های وارد شده توسط کاربر را بررسی می کند ( داده ها را اعتبار سنجی می کند)
    - اگر داده ها معتبر باشند آن ها را برای به روز رسانی در بانک اطلاعاتی به دست لایه دسترسی به داده می سپارد.

    مزیت های برنامه های چند لایه

    - برنامه ها به چند بخش منطقی جدا از هم تقسیم می شوند و اتصال میان UI ( رابط کاربری ) ، پردازش ها و بانک اطلاعاتی کم می شود.
    - تغییر در بانک اطلاعاتی یا روال های دسترسی به داده ها تاثیری در لایه نمایش یا برنامه کلاینت نخواهد گذاشت.
    - برنامه کلاینت با عبارات SQL آمیخته نخواهد شد.
    - نام جداول و ستون ها به طور موثری از برنامه کلاینت حذف می شوند.
    - برنامه کلاینت نمی فهمد که داده ها از کجا آمده اند ( چیزی که به آن location transparency گفته می شود )
    - تغییر یا گسترش برنامه بسیار ساده تر خواهد شد، بدون نیاز به تغییر یا کامپایل مجدد برنامه کلاینت.

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

    انتخاب های لایه Presentation

    دو انتخاب اصلی برای ساخت یک لایه نمایش در دات نت وجود دارد. آنها فرم های ویندوزی یا فرم های وبی ASP.NET هستند.

    با استفاده از ویندوز فرم ها شما می توانید برنامه های دسکتاپ فرم محور ( form base ) معمول را بسازید. برنامه های ویندوز فرمی می توانند المان های رابط کاربری بسیار غنی به کاربر پیشنهاد کنند.آن ها کم و بیش شبیه به فرم های ویژوال بیسیک هستند.

    جذاب ترین گزینه برای توسعه لایه نمایش استفاده از وب فرم های ASP.NET است. کنترل هایی مثل دیتاگرید، دیتالیست و تقویم ( Calendar ) یک رابط کاربری قدرتمند را با مقدار کمی کد فراهم می کنند.

    انتخاب هایی که در بالا برای ساخت یک لایه نمایش بررسی کردیم می توانند توسط زبان های مختلفی مثل سی شارپ یا ویژوال بیسیک دات نت پیاده سازی شوند.

    انتخاب های لایه Business Logic

    لایه Business logic از چندین بخش که کارهایی نظیر اعتبار سنجی کار، گردش کار یا کارهای مشابه را انجام می دهند تشکیل شده است.

    کامپوننت های دات نت این لایه را شکل می دهند. شما می توانید با interop از کامپوننت های COM استفاده کنید ولی این کار کارآیی را پایین خواهد آورد.

    وب سرویس های ASP.NET هم می توانند به عنوان یک business logic عمل کنند. اما به هر حال آن ها را نمی توان در همه شرایط به عنوان جایگزین کامپوننت ها به کار برد. وب سرویس ها تنها زمانی قابل استفاده خواهند بود که اعتبار سنجی در جایی بیرون از شبکه شما اتفاق افتاده باشد.

    کامپوننت هایی که شما توسعه می دهید به ماندن روی ماشین های مشابه نیازی ندارند. با استفاده از .NET Remoting شما می توانید آن ها را روی چندین ماشین توزیع کنید.

    انتخاب های لایه Data Access

    این لایه با دستکاری داده ها مثل اضافه ، حذف و به روز رسانی آن ها سر و کار دارد. داده هایی که به آن ها اشاره کردیم می توانند در RDBMS یا XML قرار داشته باشند. شما باید لایه دسترسی به داده را چنان طراحی کنید که دیگر لایه ها نیازی به دانستن وضعیت انبار داده ها نداشته باشند.

    ADO.NET فناوری دسترسی به داده تحت دات نت است. اگر چه ADO.NET از طریق کلاس های DataReader اجازه دسترسی به داده های در هنگام اتصال را می دهد ولی بیشترین تمرکز روی دسترسی به داده ها در زمان متصل نبودن است. دیتاست نقش کلیدی را در این مورد بازی می کند. در بعضی موارد شما می توانید ADO را هم برای دسترسی به داده ها استفاده کنید ولی استفاده از آن باید دلیل معتبری داشته باشد. از ADO استفاده نکنید فقط به خاطر اینکه RecordSet ها را دوست دارید !

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

    همچنین وب سرویس ها هم می توانند لایه دسترسی به داده را شکل دهند. این مخصوصا زمانی درست است که دیتابیس شما فراهم کننده ( provider ) داده ندارد. در این گونه موارد شما می توانید مقداری کد برای اتصال به داده ها و پر کردن دیتاست ها و بازگرداندن نتایج درون دیتاست به درخواست کننده داده بنویسید.

    علاوه بر ADO.NET شما می توانید از امکانات سیستم مدیریت دیتابیس خود مثل توابع و یا روال های ذخیره شده ( Stored Procedures ) استفاده کنید.

    ارسال داده از یک لایه به لایه دیگر

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

  3. #3
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    پس از خواندن مطلب Wish Master (پست قبلی)، یک نگاه کوچولو به مثال زیر بندازید :)

    مثلا به کمک روش سه لایه، برنامت به سه لایه یا اسمبلی تقسیم میشه.
    یک فایل exe که مربوط به لایه رابط کاربری ( لایه 1 ).
    یک فایل dll که مربوط به پردازش اطلاعات ( لایه 2 ).
    یک فایل dll برای دسترسی به بانک اطلاعاتی ( لایه 3 ).
    یک فایل mdb که مربوط به بانک اطلاعاتی داده هاست.

    همونطور که متوجه شدید، برای دسترسی به فایل mdb، درخواست کاربر از لایه 1، باید از لایه های 2 و 3 (یا حتی لایه های بیشتر!) عبور کند و درصورت مجاز بودن، اطلاعات به کاربر فرستاده میشه یا ...

  4. #4
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    مشهد
    پست
    498
    دوستان خیلی خیلی ممنون ، حالا میشه یکی بگه برای شروع بکار باید از کجا شروع کرد.

  5. #5
    چی رو از کجا شروع کنی؟

  6. #6
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    حالا میشه یکی بگه برای شروع بکار باید از کجا شروع کرد.
    همه اینها برای شروع کار بود :)

    مثلا یک پروژه Class Library رو ایجاد کن، این dll ائی که باید ایجاد بشه، دارای یکسری متدها و خاصیتهای مشخص باید باشه ( مثلا از یک اینترفیس پیروی کنه ). متدها یا خاصیت های لازم رو پیاده سازی میکنید که باید کار مربوط به خودشون رو انجام بدهند، مثلا اگر این dll در رابطه با لایه دوم بخواد پیاده سازی بشه، باید متدها و خاصیت هاش طوری باشه که یکسری پارامتر دریافت کنه و بعد از پردازش لازم، اجازه دسترسی به لایه سوم رو بدهد. این dll را میتونی در پروژه دیگه ای مثلا در Windows Application که رابط کاربری است، مورد استفاده قرار بدید.
    برای لایه سوم هم میشه یک dll داشت که اطلاعات لازم رو از لایه دوم ( با پارامترهائی که دریافت میکنه ) دریافت کنه و اطلاعات لازم رو از منبع داده به لایه دوم ارسال کنه و لایه دوم هم اطلاعات رو به لایه اول یعنی WIndows Application بفرسته.

  7. #7
    کاربر دائمی آواتار dot_net_lover2
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    شیراز
    پست
    324
    در قسمت برنامه های نمونه یک نمونه واسه کار با DB گذاشتم البته لازم به ذکر است که چند لایه نوشته نشده ولی برای کار با DB از یک DLL استفاده شده که میتونه برای شروع کمکت کنه.

  8. #8
    نقل قول نوشته شده توسط Wish Master مشاهده تاپیک
    برنامه چند لایه چیست؟

    در معماری چند لایه تمام برنامه به چندین بخش تقسیم می شود. این بخش ها می توانند فیزیکی یا منطقی باشند. هر بخش کار خاصی را انجام می دهد مثلا نمایش اینترفیس کاربر یا دسترسی به داده ها. برنامه می تواند به هر تعداد لایه داشته باشد ولی به هر حال بیشتر برنامه ها سه لایه مجزا دارند که عبارتند از :
    1- Presentation Layer
    2- Business Logic Layer
    3- Data Access Layer

    همان طور که احتمالا حدس زده اید، لایه Presentation چیزی نیست به جز بخشی از نرم افزار که با کاربر برنامه شما ارتباط برقرار می کند ( اینترفیس برنامه شماست ) نمایش داده ها به کاربر نهایی و اجازه به آنان برای ارتباط داشتن با داده ها، اصلی ترین وظیفه این لایه است.

    در بیشتر موارد داده هایی که توسط کاربر وارد می شوند نیاز به اعتبارسنجی یا پردازش اضافی دارند. این مسوولیت لایه Business Logic است.

    در نهایت داده های برنامه شما نیاز به ذخیره و بازیابی از طریق یک انبار داده دارند ( مثلا سیستم مدیریت دیتابیس های رابطه ای یا RDBMS و یا XML , .. ) این وظیفه توسط لایه دسترسی به داده انجام می شود.

    به طور خلاصه، فرآیند مورد نظر ما این گونه کار می کند:

    - کاربر برای داده های برنامه درخواستی ارسال می کند.
    - لایه Data Access داده های مورد نظر را بازیابی می کند و از طریق لایه Business Logic آن ها را به لایه نمایش می فرستد.بعضی مواقع لایه دسترسی به داده ها، این داده ها را مستقیما به لایه نمایش ارسال می کند.
    - لایه نمایش اطلاعاتی که باید نمایش داده شوند را از طریق لایه Business Logic دریافت می کند.
    - کاربر داده ها را تغییر می دهد و عمل مناسب در مورد آن ها را اجرا می کند ( مثل اضافه یا به روز کردن داده ها )
    - لایه Business Logic صحت داده های وارد شده توسط کاربر را بررسی می کند ( داده ها را اعتبار سنجی می کند)
    - اگر داده ها معتبر باشند آن ها را برای به روز رسانی در بانک اطلاعاتی به دست لایه دسترسی به داده می سپارد.

    مزیت های برنامه های چند لایه

    - برنامه ها به چند بخش منطقی جدا از هم تقسیم می شوند و اتصال میان UI ( رابط کاربری ) ، پردازش ها و بانک اطلاعاتی کم می شود.
    - تغییر در بانک اطلاعاتی یا روال های دسترسی به داده ها تاثیری در لایه نمایش یا برنامه کلاینت نخواهد گذاشت.
    - برنامه کلاینت با عبارات SQL آمیخته نخواهد شد.
    - نام جداول و ستون ها به طور موثری از برنامه کلاینت حذف می شوند.
    - برنامه کلاینت نمی فهمد که داده ها از کجا آمده اند ( چیزی که به آن location transparency گفته می شود )
    - تغییر یا گسترش برنامه بسیار ساده تر خواهد شد، بدون نیاز به تغییر یا کامپایل مجدد برنامه کلاینت.

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

    انتخاب های لایه Presentation

    دو انتخاب اصلی برای ساخت یک لایه نمایش در دات نت وجود دارد. آنها فرم های ویندوزی یا فرم های وبی ASP.NET هستند.

    با استفاده از ویندوز فرم ها شما می توانید برنامه های دسکتاپ فرم محور ( form base ) معمول را بسازید. برنامه های ویندوز فرمی می توانند المان های رابط کاربری بسیار غنی به کاربر پیشنهاد کنند.آن ها کم و بیش شبیه به فرم های ویژوال بیسیک هستند.

    جذاب ترین گزینه برای توسعه لایه نمایش استفاده از وب فرم های ASP.NET است. کنترل هایی مثل دیتاگرید، دیتالیست و تقویم ( Calendar ) یک رابط کاربری قدرتمند را با مقدار کمی کد فراهم می کنند.

    انتخاب هایی که در بالا برای ساخت یک لایه نمایش بررسی کردیم می توانند توسط زبان های مختلفی مثل سی شارپ یا ویژوال بیسیک دات نت پیاده سازی شوند.

    انتخاب های لایه Business Logic

    لایه Business logic از چندین بخش که کارهایی نظیر اعتبار سنجی کار، گردش کار یا کارهای مشابه را انجام می دهند تشکیل شده است.

    کامپوننت های دات نت این لایه را شکل می دهند. شما می توانید با interop از کامپوننت های COM استفاده کنید ولی این کار کارآیی را پایین خواهد آورد.

    وب سرویس های ASP.NET هم می توانند به عنوان یک business logic عمل کنند. اما به هر حال آن ها را نمی توان در همه شرایط به عنوان جایگزین کامپوننت ها به کار برد. وب سرویس ها تنها زمانی قابل استفاده خواهند بود که اعتبار سنجی در جایی بیرون از شبکه شما اتفاق افتاده باشد.

    کامپوننت هایی که شما توسعه می دهید به ماندن روی ماشین های مشابه نیازی ندارند. با استفاده از .NET Remoting شما می توانید آن ها را روی چندین ماشین توزیع کنید.

    انتخاب های لایه Data Access

    این لایه با دستکاری داده ها مثل اضافه ، حذف و به روز رسانی آن ها سر و کار دارد. داده هایی که به آن ها اشاره کردیم می توانند در RDBMS یا XML قرار داشته باشند. شما باید لایه دسترسی به داده را چنان طراحی کنید که دیگر لایه ها نیازی به دانستن وضعیت انبار داده ها نداشته باشند.

    ADO.NET فناوری دسترسی به داده تحت دات نت است. اگر چه ADO.NET از طریق کلاس های DataReader اجازه دسترسی به داده های در هنگام اتصال را می دهد ولی بیشترین تمرکز روی دسترسی به داده ها در زمان متصل نبودن است. دیتاست نقش کلیدی را در این مورد بازی می کند. در بعضی موارد شما می توانید ADO را هم برای دسترسی به داده ها استفاده کنید ولی استفاده از آن باید دلیل معتبری داشته باشد. از ADO استفاده نکنید فقط به خاطر اینکه RecordSet ها را دوست دارید !

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

    همچنین وب سرویس ها هم می توانند لایه دسترسی به داده را شکل دهند. این مخصوصا زمانی درست است که دیتابیس شما فراهم کننده ( provider ) داده ندارد. در این گونه موارد شما می توانید مقداری کد برای اتصال به داده ها و پر کردن دیتاست ها و بازگرداندن نتایج درون دیتاست به درخواست کننده داده بنویسید.

    علاوه بر ADO.NET شما می توانید از امکانات سیستم مدیریت دیتابیس خود مثل توابع و یا روال های ذخیره شده ( Stored Procedures ) استفاده کنید.

    ارسال داده از یک لایه به لایه دیگر

    در تمام موارد به ارسال اطلاعات از یک لایه به لایه دیگر نیاز است، به طور معمول برنامه نویسان از رشته ها ، آرایه ها ، رکوردست های غیرمتصل برای رسیدن به این هدف استفاده می کنند. در دات نت ، دیتاست ها یک راه فوق العاده برای انتقال اطلاعات میان لایه ها فراهم می کنند. شما حتی می توانید با برنامه نویسی یک دیتاست بسازید و آن را با داده های خودتان پر کنید. اگر اشیا را خیلی دوست دارید می توانید از Typed DataSets استفاده کنید که در واقع کلاسی مشتق شده از کلاس دیتاست است که جداول و سطرها را به شکل یک شی معرفی می کند.
    آقای ویش مستر تمام اینارو copy , paste کردی و منبع هم ننوشتی, اینو گفتم تا همه ببینند.

  9. #9
    خب چه اهمیتی داره که کپی پیست شده یا خودش نوشته، مهم اینه که نوشته و افرادی مث من با خوندنش یه چیزی یاد گرفتن، حالا از هرجا که نوشته شده باشه
    همه هم بنظرم با نظر من موافقن و از ایشون تشکر میکنن.

  10. #10
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط atusa_com مشاهده تاپیک
    خب چه اهمیتی داره که کپی پیست شده یا خودش نوشته، مهم اینه که نوشته و افرادی مث من با خوندنش یه چیزی یاد گرفتن، حالا از هرجا که نوشته شده باشه
    همه هم بنظرم با نظر من موافقن و از ایشون تشکر میکنن.
    متاسفانه اینکار کار درستی نیست، روش درست این است که رفرانس کامل به منبع و نویسنده داده بشه.

  11. #11

  12. #12
    نقل قول نوشته شده توسط atusa_com مشاهده تاپیک
    همه هم بنظرم با نظر من موافقن و از ایشون تشکر میکنن.
    خیر همچین خبری نیست !!!
    فکر کنم بقیه دوستان (یعنی اکثریت) با majidghost , جناب آرژنگ بیشتر موافق باشند !!!

    مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
    مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084


    وب سایت : http://www.mkiani.ir
    پست الکترونیک : mkiani3000@gmail.com

    موفق و پیروز باشید.
    مهدی کیانی


  13. #13
    کاربر دائمی آواتار mohammad272005
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    تهران
    پست
    639
    به هر حال کسی که زحمت نوشتن این مقاله رو کشیده حتما منظوری داشته که با کپی/پیست اون این منظور خدشه‏دار میشه. حال اینکه ما با ذکر منبع، کمی وجدانمونو راحت می کنیم، اصلا درسته یا نه، بماند. وای بروزی که حتی منبع هم بیان نشه.

  14. #14

    تقصیر من نیست

    این مقاله توسط یکی از دوستان برام ارسال شد که فاقد لینک منبع بود. وقتی هم که خودم سعی کردم منبعش رو پیدا کنم و تو نت سرچ کردم 40-50 تا سایت پیدا کردم که ادعای مالکیت این مقاله رو دارن!!! منم که علم غیب نداشتم بدونم کدومشون راست میگن، بدون داشتن اطمینان کامل هم نمیتونم کسی رو تائید کنم، پس بهترین راه رو در این دیدم که کسی رو تائید نکنم و در ضمن مقاله رو به اسم خودم هم پست نکردم چون مقاله هائی رو که خودم می نویسم حتما با امضای خودم تموم می شن ...

  15. #15

    Unhappy برنامه نویسی سه لایه

    من با چند نفر جاوا کار که صحبت کردم .فهمیدم که در جاوا مفهوم چند لایه نویسی صریح تر از سی شارپ بیان شده.و اینکه من منظور از سه لایه بودن رو می فهمم اما نمی فهمم که چطور باید این کار را انجام داد؟
    اگر مثل جاوا باشد که کد هایی در سی شارپ تا به حال نوشتم بدون در نظر گرفتن شی گرایی بوده.
    لطفا در مورد نحوه نوشتن کد سه لایه هم توضیح دهید.
    ممنون

  16. #16
    کاربر دائمی آواتار Masoud_TB
    تاریخ عضویت
    آذر 1386
    محل زندگی
    Tehran
    پست
    165
    به نظر من که به هیج وجه اینطور نیست. مشکل در ایران اینه که CSharp رو درست استفاده نمی کنند.

    یک سری مقاله هم اینجا می تونی پیدا کنی:
    http://csharptuning.blogfa.com

  17. #17
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط آرش2020 مشاهده تاپیک
    من با چند نفر جاوا کار که صحبت کردم .فهمیدم که در جاوا مفهوم چند لایه نویسی صریح تر از سی شارپ بیان شده.و اینکه من منظور از سه لایه بودن رو می فهمم اما نمی فهمم که چطور باید این کار را انجام داد؟
    اگر مثل جاوا باشد که کد هایی در سی شارپ تا به حال نوشتم بدون در نظر گرفتن شی گرایی بوده.
    لطفا در مورد نحوه نوشتن کد سه لایه هم توضیح دهید.
    ممنون
    این مسئله ربطی به جاوا یا سی‌شارپ ندارد، این موضوع اینجا بارها بحث شده و لینک به مثالات هم فرستاده شده.


    نقل قول نوشته شده توسط Masoud_TB مشاهده تاپیک
    به نظر من که به هیج وجه اینطور نیست. مشکل در ایران اینه که CSharp رو درست استفاده نمی کنند.
    بهتان قول میدم که این مشکلی مربوط به ایران نیست، چه دانشگاه رفتش و یا نرفتش هم در هر جایه دنیا فکر میکنند کد نویسی با تایپ کدن و ران شدن برنامه تمام میشه. یاد گرفتن طرز استفاده زبان برنامه نویسی (سی شارپ، جاوا ، دلفی ،...) تازه اول کاره و باید به کلی مطالب دیگر هم توجه بشد، همانطوری هر کی که زبان آدمیزاد حرف میزند دلیل نمیشه که سخنگویه خوبی باشد و یا بتواند که یک رمان بنویسد، دانستن خوب یک زبان برنامه نویسی هم هیچ دلیلی بر قابلیت ساختن برنامه‌هایه سطح بالا نیست.

  18. #18
    کاربر دائمی آواتار Masoud_TB
    تاریخ عضویت
    آذر 1386
    محل زندگی
    Tehran
    پست
    165
    شرمنده آرژنگ جان. ولی باید بگم که مثلا توی هند (به عنوان یک کشور نمونه) پیدا کردن برنامه نویسی که معماری چند لایه رو می دونه , ساختار object oriented رو می شناسه (بدون توجه به زبان برنامه نویسی) کار بسیار ساده ایست و توی هر شرکت می تونی دهها برنامه نویس رو پیدا کنی که این شرایط رو دارند. اما تو مملکت خودمون (به خاطر ساختار های آموزشی فجیع - چه در دانشگاه ها و چه در موسسات آموزشی که فقط دنبال پول هستند ) شرکت های نرم افزاری برای پیدا کردن یه برنامه نویس کارآمد باید ماه ها آگهی بدند و 600 نفر قرار بذارند تا از توشون 2 نفر ( تازه اگه پیدا بشه) برنامه نویس پیدا کنند.
    همین الان بیش از 4 شرکت از شرکت هایی که با بنده کار می کنند بارها به من گفتند که خواهشن اگر کسی را می شناسی معرفی کن).

    تا موقعی که توی دانشگاه ها مون بعد از این همه سال هنوز پاسکال و ... درس بدند و از آموزش پاسکال هم فقط .... داشته باشیم و توی موسسات هم فقط استفاده از TextBox و ListBox و اینها رو آموزش می دهند خروجی بهتر از این هم نخواهیم داشت.

  19. #19
    معذرت می خوام که نتونستم سوالم رو بهتر بیان کنم.
    آخه هر جا(نه اینجا) که صحبت از چند لایه نویسی میشه همه به همین مطالب بسنده می کنن و راجع به کد نویسی به این طریق چیزی نمی گویند.می خواستم بیشتر راهنماییم کنید.
    بازم عذر می خوام

  20. #20
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط آرش2020 مشاهده تاپیک
    معذرت می خوام که نتونستم سوالم رو بهتر بیان کنم.
    آخه هر جا(نه اینجا) که صحبت از چند لایه نویسی میشه همه به همین مطالب بسنده می کنن و راجع به کد نویسی به این طریق چیزی نمی گویند.می خواستم بیشتر راهنماییم کنید.
    بازم عذر می خوام
    https://barnamenevis.org/showthread.php?t=90117
    اگر توضیح دیگری لازم بود در خدمتم

  21. #21
    کاربر دائمی آواتار eyes_shut_number1
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    http://blueco.ir
    سن
    38
    پست
    1,090
    این در مورد 3 لایه بود!
    درست
    ولی N tierهمون ان لایه چیه؟
    یعنی لایه های دیگه چی هستن؟ ممنون
    آخرین ویرایش به وسیله eyes_shut_number1 : یک شنبه 15 اردیبهشت 1387 در 08:04 صبح

  22. #22
    لایه های سه گانه (یا پنج گانه) قوق الذکر وقتی برای بخشهای مختلف یک total system پیاده می شوند، یک ساختار ماتریسی منظم و موازی را تشکلیل می دهند که به آن می گویند معماری چند لایه. به عبارت دیگر sub system های مختلف بطور موازی از هم بهره می برند و هریک به تنهایی ساختاری سه لایه دارند. به این می گویند n-tier یا multi tier

  23. #23
    بيش از 3 لايه را n لايه گويند
    معماری 5 لایه
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  24. #24
    نقل قول نوشته شده توسط اَرژنگ مشاهده تاپیک
    https://barnamenevis.org/showthread.php?t=90117
    اگر توضیح دیگری لازم بود در خدمتم
    اين تاپيك پاك شده؟

  25. #25
    نقل قول نوشته شده توسط amironline مشاهده تاپیک
    اين تاپيك پاك شده؟
    به اين تاپيك مراجعه كنيد : پیاده سازی معماری 3 لایه در سی شارپ
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  26. #26
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    مشهد
    پست
    40

    نقل قول: برنامه نویسی لایه ای

    مطلب خیلی مفید بود .
    اما ذکر نکردن منبع کار درستی نبود.
    |/\!-

  27. #27

    نقل قول: برنامه نویسی لایه ای

    بابا جون، آقایون، خانوما، یک مثال ساده از winapp سه لایه یا پنج لایه به این قشر تازه کار بدبخت عنایت بفرمایید.
    کل وب پر شده از آموزش و بحث و این حرفا. یه مثال تر و تمیز کم داریم.

  28. #28

    نقل قول: برنامه نویسی لایه ای

    من هم منتظر يك مثال هستم.

  29. #29
    کاربر دائمی آواتار RED-C0DE
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    31 4E 20 20 54 48 33 20 20 28 72 59 70 54 30 47 33 4E 31 28 20 20 5C 2F 30 52 31 7C 7C 29 20 20 7C 2
    پست
    551

    نقل قول: برنامه نویسی لایه ای

    همیشه برای پیدا کردن ی نمونه برنامه به تاپیک "نمونه برنامه های کوچک و مفید سی شارپ" ی سر بزنید..!
    اینو با ی نگاه کوچک از اونجا پیدا کردم الان (ولی خودم بازش نکردم) :

    https://barnamenevis.org/showpo...6&postcount=76

  30. #30

    Post نقل قول: برنامه نویسی لایه ای

    نقل قول نوشته شده توسط اَرژنگ مشاهده تاپیک
    متاسفانه اینکار کار درستی نیست، روش درست این است که رفرانس کامل به منبع و نویسنده داده بشه.

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

  31. #31
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

    نقل قول: برنامه نویسی لایه ای

    نقل قول نوشته شده توسط milad.rahmian مشاهده تاپیک
    دوست من دقیقا حرف دوستمون درست
    اصل این هست که جواب یکی رو بدی
    مگه شما از کجا یاد گرفتید از استاد یا همین جا
    کدام سوال؟ منظورتان را متوجه نمیشم.
    چیزی که از من نقل قول کردید در مورد این است که اگر کاری از جایه دیگر گرفته شده به منبع اصلی رفرانس بدیم، اینکه من از کجا یاد گرفتم به اینکه یکی ورمیداره یک مقاله یک نفر دیگر را از سر تا ته بدونه دادن رفرانس کپی میکنه ندارد.
    اصلاً من هیچ چی بلد نیستم، سوال چیه، موضوع کدامه ؟ هر کی که دلیل منطقی در موضوعی دارد دلیلش را اراعه کند و اگر دلیلش درست بود حق دارد که مورد بررسی قرار بگیره، حالا مهم نیست ۳۰ سال برنامه‌نویس بوده یا ۳ روز.

  32. #32
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1387
    محل زندگی
    اصفهان
    سن
    36
    پست
    37

    Smile نقل قول: برنامه نویسی لایه ای

    نقل قول نوشته شده توسط RED-C0DE مشاهده تاپیک
    همیشه برای پیدا کردن ی نمونه برنامه به تاپیک "نمونه برنامه های کوچک و مفید سی شارپ" ی سر بزنید..!
    اینو با ی نگاه کوچک از اونجا پیدا کردم الان (ولی خودم بازش نکردم) :

    https://barnamenevis.org/showpo...6&postcount=76
    این پروژه نمونه از پایگاه داده NORTHWIND استفاده کرده است.
    از STORED PROCEDUER استفاده کرده ،به نام SP_1 اما همچینن PROCEDUER توی این پایگاه داده وجود ندارد.؟

  33. #33
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1387
    محل زندگی
    اصفهان
    سن
    36
    پست
    37

    نقل قول: برنامه نویسی لایه ای

    sp_1 داخل خود پوشه هست .

  34. #34

    نقل قول: برنامه نویسی لایه ای

    نقل قول نوشته شده توسط dot_net_lover2 مشاهده تاپیک
    در قسمت برنامه های نمونه یک نمونه واسه کار با DB گذاشتم البته لازم به ذکر است که چند لایه نوشته نشده ولی برای کار با DB از یک DLL استفاده شده که میتونه برای شروع کمکت کنه.

    این قسمت برنامه های نمونه کجاست؟!!!؟

  35. #35

    نقل قول: برنامه نویسی لایه ای

    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •