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

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

  1. #1

    اشکال در معماری 3 لایه

    سلام.یه سوال داشتم ، اینکه تو معماری 3 لایه میشه از کلاس presentationام، obj بگیرم ومتد call کنم؟ با توجه به اینکه کلاس presentation ام همون کلاس فرمم(پشت فرم)میشه!
    اگه نمیشه obj گرفت پس چیکار باید کرد؟به عنوان مثال من یه فرم login دارم که میخوام کلاس کنترلیم نام کاربری وکلمه عبور رو از کلاس presentation ام بگیره و با username & password هایی که از کلاس data access ام گرفته مقایسه کنه و اجازه ورود رو بده.
    برای اینکار چطور کلمه عبور ونام کاربری وارد شده توسط کاربر رو تو کلاس کنترلی بیارم!؟

  2. #2
    کلاسی که نقش کنترل کننده را داره یک متد تعریف میکنه که پارامترهای ورودی آن username\password کاربر باشد. کلاس سطح کلاینت شما (همون فرم برنامه تون) هر زمان نیاز به لاگین داشته باشه، این متد را فراخوانی میکنه و username\password ایی را که کاربر وارد کرده به عنوان پارامتر به این متد پاس میده. متد مربوطه در داخل لایه دوم سیستم (Business Logic که کلاس کنترل کننده در آن قرار داره) اجرا میشه و عملیات مربوط به لاگین را انجام میده.
    به این ترتیب نیازی نیست که کلاس کنترل کننده به نمونه ایی از کلاس موجود در لایه Presentation دسترسی داشته باشه.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  3. #3
    از راهنماییتون خیلی ممنون ،مشکل من حل شد. ولی هنوز این سوال برای من وجود داره که
    ایا میشه از کلاس presentation obj گرفت یا نه؟در حالت کلی می پرسم.

  4. #4
    ببخشید یه سوال دیگه هم برام پیش اومده ،اینکه ایا تو کلاس کنترلی داخل متد authentication ،بعد از اینکه مقایسه انجام شد،فرم بعدی رو show کنم یا تو کلاس presentation بعد از اینکه متد authentication رو call کردم فرم بعدی رو show کنم؟

  5. #5
    ولی هنوز این سوال برای من وجود داره که
    ایا میشه از کلاس presentation obj گرفت یا نه؟
    بله میشه، اما این کار با اصول طراحی 3-لایه منافات داره.

    ایا تو کلاس کنترلی داخل متد authentication ،بعد از اینکه مقایسه انجام شد،فرم بعدی رو show کنم یا تو کلاس presentation بعد از اینکه متد authentication رو call کردم فرم بعدی رو show کنم؟
    کلاس کنترل کننده کاری به کلاس های موجود در لایه Presentation نداره، فقط درخواستی که ازش شده را انجام میده. برای مورد Authentication که ذکر کردید، کلاس کنترلی میتونه متدی را در اختیار سرویس گیرندگان خود قرار بده که در صورت انجام صحیح عملیات مقداری را به سرویس گیرنده برگرداند (مثلا ارسال True)، اگر هم عملیات با خطا مواجه شد، مقدار دیگری را برگرداند (مثلا False). کلاس Presentation بعد از فراخوانی متد مربوطه، مقدار برگشتی آن را چک می کند و بر اساس آن تصمیم می گیرد که آیا فرمی باید نمایش داده شود یا نه.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  6. #6
    از توضیحات خوبتان سپاسگذارم.

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

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