صفحه 1 از 3 123 آخرآخر
نمایش نتایج 1 تا 40 از 82

نام تاپیک: پیاده سازی معماری 3 لایه در سی شارپ

  1. #1

    Post پیاده سازی معماری 3 لایه در سی شارپ

    با سلام به دوستان عزیز
    شنیدم که میگن میشه در دات نت بصورت چند لایه ( چند سطحی ) برنامه نوشت . میخوام بدونم برنامه نویسی چند لایه یعنی چی ؟! . اگر یک مثال ساده و یک مثال نیمه سخت بزنید ممنون میشم.اگه کد هم داشته باشه که خیلی عالی میشه.

  2. #2
    به برنامه هایی که به چند قسمت کلی تقسیم میشن و هر قسمت در یک لایه مجزا اجرا میشه ولی مجموعه همه این قسمتها با هم برنامه رو تشکیل میدن برنامه های چند لایه میگن. معمولا برنامه ها 3 لایه یا 5 لایه هستند. برنامه های 3 لایه شامل Presentation Layer و Business Logic Layer و Database Layer میشوند و در برنامه های 5 لایه هم لایه منطق تجاری برنامه رو به 3 لایه دیگر تقسیم میکنند.
    آخرین ویرایش به وسیله omid_Ahmadi : شنبه 05 شهریور 1384 در 08:12 صبح

  3. #3
    کاربر دائمی آواتار Delphi Skyline
    تاریخ عضویت
    دی 1383
    محل زندگی
    شیراز
    پست
    1,174
    بله . متشکرم از شما . اما آیا در جاوا که .NET نداره میشه چند سطحی نوشت ؟

  4. #4
    کسانی که از جاوا استفاده میکنند برای این کار از J2EE استفاده میکنند.

  5. #5
    ممنون از اینکه جواب دادید(همه دوستان). اما این چیزی که شما گفتید تغریبا فقط ترجمه چند سطحی بود.شایدم من یه کم .... دیر میفهمم . میشه لطفا بیشتر راهنمایی کنید.

  6. #6
    خوب یک مدل ساده برنامه که شامل 3 لایه باشه معمولا به این صورت طراحی میشه. فرض کنید یک شرکت یک شیکه LAN داخلی که کامپیوترهای اون رو به هم متصل میکنه داره. برای نوشتن یک برنامه 3 لایه که بتونه کارهای مختلف اون شرکت رو مدیریت کنه به صورت زیر عمل میکنند. لایه اول همونطور که گفتم Presentation Layer یا لایه ارایه دهنده است که معمولا رابط کاربری که در کامپیوتر کلاینتها نمایش داده میشه مد نظره. لایه دوم Business Logic Layer یا لایه ای است که منطق تجاری برنامه و طریقه عملکرد اون در این لایه قرار میگیره. لایه سوم هم Database Layer یا لایه بانک اطلاعاتی است که معمولا شامل یک یا چند سرور بانک اطلاعاتی میشه که اطلاعات مربوط به برنامه رو نگهداری میکنند. لایه دوم در حقیقت اطلاعات خواسته شده توسط کاربران لایه اول رو از لایه بانک اطلاعاتی دریافت میکنه و بعد از تجزیه و تحلیل اونها رو به کاربر نمایش میده

  7. #7

    -

    توسعه یک نرم افزار چند لایه ارتباطی به زبان و یا حتی platform کد نویسی نداره. در مورد این مساله در زمان طراحی نرم افزار بحث میشه. امکان داره که هر لایه در یک بستر کاملا جدا توسعه داده بشه. حتی در یک لایه ممکنه از 2 بستر یا زبان مختلف استفاده بشه. این یک تکنولژی جدید نیست که در دات نت استفاده شده باشه یا مثلا در VS 6 نشه چند لایه نوشت. از تکنولژی های خیلی قدیمی که بوجود آوردن یک ساختار چند لایه رو تسهیل می کردن میشه به MTS در NT4 اشاره کرد .
    این مساله کاملا یک مفهوم است.

  8. #8
    توسعه یک نرم افزار چند لایه ارتباطی به زبان و یا حتی platform کد نویسی نداره. در مورد این مساله در زمان طراحی نرم افزار بحث میشه. امکان داره که هر لایه در یک بستر کاملا جدا توسعه داده بشه. حتی در یک لایه ممکنه از 2 بستر یا زبان مختلف استفاده بشه. این یک تکنولژی جدید نیست که در دات نت استفاده شده باشه یا مثلا در VS 6 نشه چند لایه نوشت. از تکنولژی های خیلی قدیمی که بوجود آوردن یک ساختار چند لایه رو تسهیل می کردن میشه به MTS در NT4 اشاره کرد .
    این مساله کاملا یک مفهوم است.
    حرف شما کاملا درسته من هم در هیچ قسمتی خلاف این موضوعات رو ذکر نکردم.

  9. #9
    باز هم تشکر از دوستان . ولی میشه لطفا یک مثال پیاده سازی شده به من معرفی کنید. که من بتونم ببینم چیه !!. در واقع دنبال یک نمونه برنامه, پیاده سازی شده هستم که کد نویسی شده باشه. ( البته در دات نت ). من بتونم Download کنم و اجرا کنم و Source برنامه را هم بتونم ببینم . دو تا مثال میخوام یکی سخت و یکی آسون .

  10. #10

  11. #11
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    189

    Smile لایه بندی

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

  12. #12
    کاربر دائمی آواتار Mahdavi
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    ایران - میگن تهرون
    پست
    606
    ساده ترین شکل اون داشتن سه لایه UI و BR و DA هست.
    1- در این لایه شما فقط مسایل مربوط به نمایش اطلاعات رو انجام میدید. به عبارت دیگه چیزی که کاربر قراره ببینه.
    2-لایه تصمیم گیری و قواعد کاری. مثلا آیا این کاربر مجاز به دیدند این اطلاعات هست یا نه ؟ و فرمولهای محاسبه.
    3-این لایه هم که از اسمش پیداست . لایه مربوط به انجام کارهای دیتابیس. عملیات مربوطه.


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

  13. #13
    "لایه" با "چند سطحی" یکیه؟
    در این مورد منبع تکمیلی؟
    ممنون

  14. #14
    محروم شده آواتار Babak-Aghili
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    در خاطرات شما
    پست
    801

  15. #15
    در مورد لایه بندی و برنامه نویسی لایه ای فقط یکسری اطلاعات تئوری دارم آیا کسی به طور عملی اینکاررا در پیش گرفته ؟؟
    آیا نمونه کد و یا نمونه برنامه ای هست ؟ و یا اگر ممکنه دوستان راهنمایی کنند که برای برنامه نویسی به این طریق چه روندها و مراحلی باید طی شود ؟؟
    البته لینک در قسمت قبل باز نمیشد. اگر منبعی برای دریافت اطلاعات بیشتری هست ، لطفاً مرا راهنمایی کنید.

  16. #16
    کاربر دائمی آواتار یاسر مددیان
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    سرزمین پارس
    پست
    385
    این لینک که باز نمیشه! فایل وجود نداره. اگه لطف کنید و آپلود کنید ممنون میشم.




    با تشکر.

  17. #17
    می تونید از مثال Duwamish که ماله خود مایکروسافت هست استفاده کنید. البته مربوط به 2003 هست.
    خیلی عالی نیست ولی برای شروع کار چندلایه خوبه.
    اگه دات نت 2003 نصب کردید توی همچین آدرسی هست :
    D:\Program Files\Microsoft Visual Studio .NET 2003\Enterprise Samples

    اگه هم نداریدش از اینجا دانلود کنید:
    http://www.microsoft.com/downloads/d...displaylang=en

  18. #18

    راهنمائی در خصوص کار با بانک اطلاعاتی در سی شارپ

    دوستان من می خوام برنامه نویسی #C و بانک های اطلاعاتی شروع کنم که چند تا سوال برام پیش اومده
    1- اولاً دقیقاً نمی دونم از اکسس استفاده کنم یا از sql server ، فکر می کنم اکسس راحت تره ولی نوشته های دوستان رو که می خوندم انگار محدویت هائی رو داره که sql server نداره می خوام بدونم آیا اکسس 2007 هم همین محدودیت ها رو داره ؟
    2- ضمناً من نمیدونم برای استفاده از SQL SERVER حتما باید نرم افزارش رو به ویندوزم نصب کنم یا اگه فقط ویژوال استودیو دات نت 2005 رو نصب کنم کافیه ، آخه انگار اونم Sql server داره و اینکه بعد از نصب روش استفاده اونم مثل اکسسه ؟
    3- و بعد اینکه من چطوری می تونم یه منبع خوب درباره sql و یا روش استفاده از بانک های اطلاعاتی در سی شارپ بدست بیارم ، آیا می تونم از MSDN ویژوال استودیو 2005 استفاده کنم یا نه ؟
    لطفاً رهنمائیم کنید . ( لطفا جوابهاتونو با دلیل بفرمائید ، برام مهمه )
    مرســــــــــــــــــــــ ــــی

  19. #19
    1) استفاده از اکسس یا SQL Server بیشتر به محیطی که قراره برنامه نهایی در اون مورد استفاده قرار بگیره، تعداد کاربرانی که می خوان در هر لحظه از داده های درون بانک استفاده کنن، مقدار و حجم اطلاعاتی که در بانک ذخیره می شه، حجم انتقال اطلاعات بانک با لایه های دیگه برنامه و ... بستگی داره. اگر فقط به عنوان یادگیری می خواهید بدونید، بهتره به هر دوی این محیط ها آشنا بشید. به این صورت خودتون متوجه می شید که کجا بهتره از چه DBMS ای استفاده کنید. در این سایت مقایسه های زیادی در مورد تفاوت موجود در بانکهای اطلاعاتی وجود داره، می تونید از اونها هم استفاده کنید تا تفاوت نسخه های بانکهای اطلاعاتی رو بهتر درک کنید.

    2) استفاده از SQL Server مقداری با Access تفاوت داره. نسخه ای از SQL Server که همراه با VS نصب می شه برای کارهای آموزشی و ابتدایی می تونه نیازتون رو برطرف کنه، اما برای برنامه های واقعی، لازم دارید که از یکی از نسخه های SQL Server (به جز Express) استفاده کنید.

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

    موفق باشید.

  20. #20
    اگر در مورد کار با بانک access نمونه برنامه خواستید بگید براتون میزارم ...
    البته فکر کنم توی « نمونه برنامه های #C » بتونی پیدا کنی ....

  21. #21
    با سلام خدمت دوستان
    و با اجازه از استاد ثباتی
    اکسس در ابتدا به عنوان یک سیستم دیتابیس طراحی نشده و هنوزم که انقدر مثلا پیشرفت کرده در رده دیتابیس سیستمها قرار نمیگیره ...
    اکسس برای طراحی دیتابیسهای شخصی افراد بر روی ویندوز درست شده با اینکه میشه ازش برای برنامه نویسی هم استفاده کرد ولی فکر نمیکنم کار درست و منطقی باشه

  22. #22

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

    سلام به همگی دوستان
    می شه یه Sample برای برنامه نویسی 2 لایه یا 3 لایه تحت Win Application به من یاد بدین یا بگین برم از کجا Download کنم . مثلاً database من Sql هست می خوام از یه جدول Select کنم و داخل Data gridView نشون بدم . نمی نمدونم چه جوری لایه ای بنویسم .

    ممنون می شم اگه راهنماییم کنید .

  23. #23
    کاربر دائمی آواتار MH2538
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    No Man Land
    پست
    537
    دوست عزیز
    سلام
    شما باید اول مشخص کنی بر اساس نیاز های سیستمت از کدام یکی از روش ها می خوای برنامه چند لایه بنویسی.
    مثلاً WebService یا WinService یا ...
    بهتره اول یک سری اطلاعات پایه رو مطالعه کنی.
    بعد بر اساس نیازها و امکانات سیستم روشت رو انتخاب کنی .
    بعد روی اون روش بصورت جدی کار کنی.

  24. #24
    می خواستم Winservice باشه اما لایه ای بلد نیستم .

  25. #25
    کاربر دائمی آواتار MH2538
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    No Man Land
    پست
    537
    سلام
    شما اول نوشتن WinService رو خوب مطالعه کن.
    بعد روی multi tier مطالعه کن.
    در نهایت این دو تا رو با هم تلفیق کن.

  26. #26
    کاربر دائمی آواتار leilav_1984
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    تهران
    پست
    307
    یه نمونه خیلی خوب پروژه Dwamish هست که می تونی از سایت Microsoft بگیریش

  27. #27
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط leilav_1984 مشاهده تاپیک
    یه نمونه خیلی خوب پروژه Dwamish هست که می تونی از سایت Microsoft بگیریش
    http://msdn2.microsoft.com/en-us/library/ms978471.aspx

  28. #28

  29. #29

    معماری سه لایه

    اگه بخام از معماری سه لایه استفاده کنم باید از کلاس استفاده کنم سوال من این است باید همه چیزهایی که می خاهم در پایگاه داده ذخیره کنم به عنوان پارامتر بفرستم یا راه دیگه ای هم داره؟
    متشکرم

  30. #30
    نقل قول نوشته شده توسط Ali2200 مشاهده تاپیک
    اگه بخام از معماری سه لایه استفاده کنم باید از کلاس استفاده کنم سوال من این است باید همه چیزهایی که می خاهم در پایگاه داده ذخیره کنم به عنوان پارامتر بفرستم یا راه دیگه ای هم داره؟
    متشکرم
    سلام.
    شما مگه می تونید تو C#‎ کدی بنویسید که در درون یک کلاس قرار نگیره؟ (جدا از معماری کار). پس این حرف به چه معنی هستش که "اگه بخوام از معماری سه لایه استفاده کنم، باید از کلاس استفاده کنم". شما چه از معماری سه لایه استفاده کنید، چه نکنید، باید از کلاسها استفاده کنید.

    اما در مورد پاسخ سوالتون، که به Data Access Logic Component یا همون DALC بر میگرده. شما این انتخاب رو دارید که از Dynamic SQL ها استفاده کنید. بعنوان مثال دستورات CRUD رو بصورت String در کدتون تعریف کنید و سپس اونها رو اجرا کنید. اما این راه، خطرات SQL Injection رو در پی داره. روش دیگه، استفاده از Stored Procedure هاست. به این ترتیب شما می تونید کلیه اطلاعات رو بصورت پارامترهایی به SP ها بدین و نتیجه رو بگیرین. این روش از روش قبلی بهتره، چون اولا مشکلات امنیتی یاد شده رو نداره و ثانیا SP ها توسط SQL Server (البته اگه بانکتون SQL Server باشه) میتونن Pre-Compiled بشن تا اجراهای بعدی همون SP سریعتر باشه. اما یه روش دیگه استفاده از Built-in Web Service ای هستش که با SQL Server وجود داره. به این ترتیب شما میتونید اطلاعات مورد نظرتون از طریق HTTP و بصورت SOAP fi به بانک ارسال کرده و نتیجه رو به طریق مشابه دریافت کنید.

  31. #31

    نمونه برنامه های 3 لایه (فقط کاربردی)

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

    چون هدف یاد گرفتن موضوع هست
    مثلا برنامه هایی که دارای یه فرم در بخش (presentation layer) و 2 کلاس یکی در بخش business Logic و یکی هم در بخش database (فکر کنم نوشتن یه چنین برنامه هایی کمتر از 10 دقیقه زمان ببره)

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

    برای دوستانی که آشنایی با این روش ندارن و میخواهند از لحاظ تئوری خود را قوی کنند میتونن به لینک های زیر مراجعه کنند
    https://barnamenevis.org/showth...A7%DB%8C%D9%87

    https://barnamenevis.org/showth...A7%DB%8C%D9%87



    https://barnamenevis.org/showth...A7%DB%8C%D9%87

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

  32. #32
    کاربر دائمی آواتار ARA
    تاریخ عضویت
    آبان 1383
    محل زندگی
    Bad Sector
    پست
    448

  33. #33

    Question برنامه چند لایه و dll ها

    من یک برنامه چند لایه درست کردم
    خوب برام از لایه ها یک dll میسازه و در لایه اجرایی از اونها استفاده میکنه
    اما من نمیخوام کاربر به اون dll ها دسترسی داشته باشه یا بتونه ازش استفاده کنه
    چیکار باید بکنم؟ اصلا روش یک برنامه چند لایه همین هست؟

  34. #34
    نقل قول نوشته شده توسط Mrs.Net مشاهده تاپیک
    من یک برنامه چند لایه درست کردم
    خوب برام از لایه ها یک dll میسازه و در لایه اجرایی از اونها استفاده میکنه
    اما من نمیخوام کاربر به اون dll ها دسترسی داشته باشه یا بتونه ازش استفاده کنه
    چیکار باید بکنم؟ اصلا روش یک برنامه چند لایه همین هست؟
    حتما الزامی نیست که به صورت dll در بیارینشون
    میتونین توی solutionExplorer سه تا folder بسازین برای لایه هاتون و کلاس های مربوط به هر لایه را درون اون بزارین (که زیاد بودن کلاس ها آشفتگی ایجاد نکنه) و از اونا استفاده کنین
    اینطوری دیگه دست کاربر را هم میبندین

  35. #35
    یکی از مزایای چند پروژه بودن این بودکه جدا کامپایل میکرد و ...
    راه دیگه ای نیست جز یکی کردن؟

  36. #36
    نقل قول نوشته شده توسط Mrs.Net مشاهده تاپیک
    من یک برنامه چند لایه درست کردم
    خوب برام از لایه ها یک dll میسازه و در لایه اجرایی از اونها استفاده میکنه
    اما من نمیخوام کاربر به اون dll ها دسترسی داشته باشه یا بتونه ازش استفاده کنه
    چیکار باید بکنم؟ اصلا روش یک برنامه چند لایه همین هست؟

    سلام.
    کلاسهاتون رو internal تعریف کنید. سپس با استفاده از Strong Naming به اونها اسم بدید و اونها رو Sign کنید. در هر یک از Assembly های نامبرده شده، در فایل AssemblyInfo.cs با استفاده از Attribute زیر به Compiler میتونید بگید که internal های assembly فقط در دسترس فلان assembly ها هستن:

    [assembly: InternalsVisibleTo("MyNewAssembly")]
    به این ترتیب internal های کلاستون، فقط در دسترس assembly ای به نام MyNewAssembly خواهند بود.

  37. #37
    این String Naming چجوریه؟
    آیا تو این حالت حتی توابع هم دیده نمیشوند؟
    و اگه یک برنامه دیگه با همون نام اسمبلی باشه میتونه ببینه و استفاده کنه؟

  38. #38
    نقل قول نوشته شده توسط Mrs.Net مشاهده تاپیک
    این String Naming چجوریه؟
    آیا تو این حالت حتی توابع هم دیده نمیشوند؟
    و اگه یک برنامه دیگه با همون نام اسمبلی باشه میتونه ببینه و استفاده کنه؟

    سلام.
    ببخشید، اشتباه نوشتم. منظورم Strong بود، نه String. (تصحیحش کردم). وقتی بهش یه نام از نوع Strong میدین و Sign اش می کنید، برنامه دیگه ای نمیتونه همون اسم رو داشته باشه. در مورد توابع هم باید خدمتتون عرض کنم که توابع internal دیده نخواهند شد.

  39. #39

    Smile

    نقل قول نوشته شده توسط gomnam مشاهده تاپیک
    حتما الزامی نیست که به صورت dll در بیارینشون
    میتونین توی solutionExplorer سه تا folder بسازین برای لایه هاتون و کلاس های مربوط به هر لایه را درون اون بزارین (که زیاد بودن کلاس ها آشفتگی ایجاد نکنه) و از اونا استفاده کنین
    اینطوری دیگه دست کاربر را هم میبندین
    چرا خیلی - و به 1001 دلیل! - بهتره بصورت DLL کار بشه
    یکی از دلایل لایه بندی Reuse کردن برخی قسمتها در آینده است و میدونید که Binary Reuse خیلی بهتر از Code Reuse است.
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  40. #40
    نقل قول نوشته شده توسط sinpin مشاهده تاپیک
    چرا خیلی - و به 1001 دلیل! - بهتره بصورت DLL کار بشه
    یکی از دلایل لایه بندی Reuse کردن برخی قسمتها در آینده است و میدونید که Binary Reuse خیلی بهتر از Code Reuse است.
    کد را همیشه میشه تبدیل کرد به dll ولی عکس این کار ممکن امکان پذیر نباشه
    کد changeable تر از dll هست
    اگه زمانی خواستین کد خود را بهینه کنید ؟ اگه خواستین امکانات دیگه ای به اون اضافه کنید؟فکر کنم با کد راحت تر میشه کار کرد نه؟

    البته dll هم مزایایی ویژه و خاص خودش راداره که نباید فراموش کرد

    فکر کنم که جواب یکی از اون 1001 دلیلی را که فرمودین دادم
    خوشحال میشم اون 1000 تای دیگه را هم بگین تا یه بحث خوب داشته باشیم
    موفق باشید

صفحه 1 از 3 123 آخرآخر

تاپیک های مشابه

  1. این خطا یعنی چی؟
    نوشته شده توسط javad3151 در بخش SQL Server
    پاسخ: 2
    آخرین پست: سه شنبه 14 شهریور 1385, 10:56 صبح
  2. کلاس بندی و شی گرا کردن یعنی چی؟(توضیح مختصر)
    نوشته شده توسط active66 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 7
    آخرین پست: سه شنبه 02 خرداد 1385, 17:19 عصر
  3. مشخص کردن محل قرار کرفتن مکان نما یا tab از طریق کد نویسی؟
    نوشته شده توسط oghab در بخش برنامه نویسی در Delphi
    پاسخ: 5
    آخرین پست: دوشنبه 16 آبان 1384, 19:05 عصر

برچسب های این تاپیک

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

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