PDA

View Full Version : یک سوال درباره طراحی کلاس مشتری



امید خطیبی
شنبه 09 آذر 1392, 09:22 صبح
با سلام خدمت دوستان عزیز و گرامی
دوستان من یک سوال داشتم
می خواستم کلاس داخل دات نت تعریف کنم اما نمی دونم این رو چگونه باید تعریف کنم
من کلاسی به نام مشتری دارم که این مشتری من امکان داره به صورت های زیر باشه
یا حقیقی هست که مشخصاتی دارد که مربوط به آن می شود و فیلد هایی دارد
و یا حقوقی می باشد که این حقوقی هم فیلد هایی دارد
حالا من چطوری می توانم این مشتری را به این دو دسته تقسیم کنم و توسط کلاس مشتری این را بشناسم
چون امکان داره یک شرکت یا فرد حقوقی بیاد با اون شرکت قرارداد ببنده و چند فرد حقیقی برای این شرکت کار کنند که مشخصات آنها را هم نیاز داریم
ولی این رو نمی فهمم که من اگر کلاس فرد حقیقی را به حقوقی متصل کنم چجوری بیام و کسی که آمده و برای خودش داره خرید می کنه و فرد حقوقی به حساب نمیاد را باید وارد کنم
این مورد رو یکی می تونه کاملا به من بفهماند که چگونه توسط الگوی MVVM و با WPF می توانم این برنامه را بنویسم
برنامه اینجوری هست
من مشتری دارم یا حقیقی هست یا حقوقی که این دو مورد می توانند از شرکت درخواست مصالح بدهند
حالا به من بگید که اگر این فرد حقوقی باشد برای خرید مصالح امکان دارد چند فرد جقوقی را برای دریافت مصالح بفرستد چگونه باید تعریف شود
اگر فردی حقیقی بیاد مصالح را بخرد اون مورد را چگونه باید وارد کنیم.

امید خطیبی
دوشنبه 11 آذر 1392, 10:17 صبح
سلامی دوباره
دوستان می بخشید ها ولی من نیاز به راهنمایی هر چه سریعتر دارم

و در این قسمت از برنامه دچار مشکل شده ام که:

1. من مشتری حقیقی را به مشتری حقوقی وصل می کنم که مشتری حقیقی از مشتری حقوقی ارث بری کند
ولی مشکل اینجاست:
من اگر خواسته باشم یک کلاس بسازم که مشتری اضافه کنم چه کلیدی را باید بگذارم که اگر مشتری حقیقی بود مثال اون فیلد ها را از من بگیرد
و اگر حقوقی بود فیلد های داخل حقوقی را از من بگیرد و لیستی از مشتری خقیقی برای من بسازد
این موارد را اگر کسی می داند به من بگوید.

امید خطیبی
سه شنبه 12 آذر 1392, 22:33 عصر
سلامی دوباره
از دوستان برنامه نویس کسی نبود که یه یک مقدار از این برنامه را به زبان فارسی روان نه کد نویسی به من بگه تا من این برنامه را بنویسم
فقط از شما می خواهم به من بگین که این کلاس های مشتری حقیقی و حقوقی رو چجوری به هم متصل کنم و زمانی که مشتری من حقوقی شد چجوری لیستی از مشتری حقیقی بسازم داخلش یک توضیح ساده می خواهم نه زیادتر نه کمتر

aghayex
پنج شنبه 14 آذر 1392, 12:36 عصر
دوست عزیز اگه خصوصیاتشون با هم فرق دارن خوب دو نوع متفاوت هستن و شما باید دو کلاس تعریف کنی و اصراری بر اینکه شما یک کلاس داشته باشی نداشته باش .

امید خطیبی
پنج شنبه 14 آذر 1392, 15:21 عصر
آقای aghayex خیلی ممنونم از این که به پست من جواب دادید ولی مشکل من این هست که یک مقداری تو الگوی MVVM گم شده ام و نمی دونم که من این برنامه را چجوری باید با الگوی MVVM بنویسم با این که از توضیحات آقای کیانی استفاده کرده ام ولی یک چیز سردرگمم کرده که من موقع پیاده سازی مسئله روی برنامه توسط این الگوریتم چجوری باید اون را پیاده سازی کنم
چون اگر امکان این رو داشت من 2 Table از نوع مشتری درست می کردم با این که حقیقی و حقوقی داشت و اونجا مانور دادن راحت تره و ارتباط آن ها را به برنامه می دادم و اطلاعات را ذخیره می کردم و عملیاتی را روی آن انجام می دادیم.
البته این را باید بگویم آقای علیرضا مداح مدیر سایت هم توضیحاتی درباره معماری 3 لایه داده بودند در قسمتی دیگر ولی با این حال من هنوز متوجه نشدم که یک فیلد را زمانی که می خواهم توسط الگوی MVVM به برنامه خود توسط WPF متصل کنم چگونه باید این کار را انجام دهم و یا این که سرویس های مخصوص آن جدول یا فیلد را در یک فایل CS قرار بدهم.

aghayex
جمعه 15 آذر 1392, 10:13 صبح
دوست عزیز خوب توضیح ندادید .
اما در کل بهتون بگمالگوی MVVM برای کسانی توصیه میشه که کار تیمی می کنن , زمانی برای یادگیری دارن , اطلاعاتنسبتا کامل در مفاهیم کلاس ها دارن .
در خصوص مشکلتون اگه شما با ef به بانکتون وصل می شید پس برای هر تیبل در دیتابیس یک کلاس در برنامه دارید حالا وقی شما در viewmodel فرمتون به دیتابیس وصل می شید و اطلاعاتی رو فراخوانی می کنید اون اطلاعات در قالب یه کلاس متناظر تیبل ریخته میشن و به راحتی می تونید هر کدوم از اوم پروپرتی های اون کلاس رو به کنترلهای داخل رمتون بایند کنید ک
خیلی کلی گفتم چون امکان جا افتادن قضیه با چند خط نیست و شما باید سمپل های زیادی رو ببینید .

امید خطیبی
جمعه 15 آذر 1392, 10:31 صبح
خیلی ممنونم ولی مشکل من را دقیق نفهمیدید
مشکل من این هست که در این الگو من تمام کلاس هام رو ساخته باشم و بایند کرده باشم حالا که می خواهم اطلاعات خودم را ذخیره کنم در دیتابیس یا برنامه را وصل کنم به دیتابیس چگونه باید این کار را انجام دهم


در ضمن من این قسمت را نفهمیدم من چرا باید در ViewModel به پایگاه وصل بشم پس کلاس های داخل مدل به کجا وصل هستند؟



در خصوص مشکلتون اگه شما با ef به بانکتون وصل می شید پس برای هر تیبل در دیتابیس یک کلاس در برنامه دارید حالا وقی شما در viewmodel فرمتون به دیتابیس وصل می شید و اطلاعاتی رو فراخوانی می کنید اون اطلاعات در قالب یه کلاس متناظر تیبل ریخته میشن و به راحتی می تونید هر کدوم از اوم پروپرتی های اون کلاس رو به کنترلهای داخل رمتون بایند کنید