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

نام تاپیک: طراحي برنامه اي بدون ديتا بيس

  1. #1

    طراحي برنامه اي بدون ديتا بيس

    سلام
    داده هاي برنامه من جايي ذخيره نميشن توي خود برنامه ايجاد و استفاده ميشن
    براي كار با اين ساختار دو روش هست
    يكي كلاس بسازم و پروپرتي ها رو توش بريزم و بعد ابجكت بسازم و اضافه كنم تو ليست و اين ليست كار همون جدول رو ميكنه كه اين طوري يه خورده با ليست ها بايد كار كنم كه سخت ميشه
    راه ديگه هم اينه جدول ها يي توي رم ايجاد كنم و با اونا كار كنم
    يعني با لينكيو
    روش راحت تر كدومه؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    دی 1388
    محل زندگی
    رامسر
    پست
    565

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    اگر LINQ رو بلدید، به نظر میاد راحت تر باشه (من خودم بلد نیستم زیاد، واسه همین احتمالا از لیست و ... استفاده می کردم تو همچین شرایطی)

  3. #3

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    خب يعني يه جدول توي فايل dbml بسازم و همه كار ها رو با اون انجام بدم
    فرض كنيد هزاران سطر رو بخوام اضافه كنم توي جدول
    قبلا همه رو توي يه ليست اضافه ميكردم اما الان اگر با dbml كار كنم مجبورم تك تك اونا رو اضافه كنم به جدولي كه توي Linq ساختم سوالم اينه ايا اينطوري سرعت برنامه گرفته نميشه؟

  4. #4

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    linq ارتباط چند به يك رو پشتيباني ميكنه؟

  5. #5

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    نقل قول نوشته شده توسط saed2006 مشاهده تاپیک
    خب يعني يه جدول توي فايل dbml بسازم و همه كار ها رو با اون انجام بدم فرض كنيد هزاران سطر رو بخوام اضافه كنم توي جدول قبلا همه رو توي يه ليست اضافه ميكردم اما الان اگر با dbml كار كنم مجبورم تك تك اونا رو اضافه كنم به جدولي كه توي Linq ساختم سوالم اينه ايا اينطوري سرعت برنامه گرفته نميشه؟
    سلام.
    قبل از هر چیز، LINQ to SQL (و در نتیجه DBML ها) رو فراموش کنید (بدین دلیل) و از Entity Framework استفاده کنید. اما سوال اصلی، فرض کنید این In-Memory Data ها رو به هر شکل و شمایلی در برنامه نگهداری کردید، آیا در نهایت نباید این داده ها جایی Persist بشن؟ چون بالاخره با اتمام Process این برنامه، داده ها در صورتیکه فقط در Memory باشن از بین خواهند رفت... بنابراین اگر به هر دلیلی باید این داده ها رو Persist کنید، توصیه می کنم مدیریت اونها رو به یک DBMS بسپرید. اما اگر نیازی به Persist کردن اون داده ها ندارید، باز هم می تونید با استفاده از Entity Framework، مدلی برای داده های مورد نظرتون بسازید و توسط یک In-Memory Provider برای EF، داده ها رو در حافظه نگهداری کنید (بطور مثال SQLite از In-Memory Table ها پشتیبانی میکنه). البته شما ساز و کاری به اسم DataSet ها نیز دارید، که نگهداری داده ها رو بصورت Disconnected میسر کرده و نمی تونید اونو نیز نادیده بگیرید.

    موفق باشید.

  6. #6

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    داده ها جايي ذخيره نميشن
    خب من با ابزار uml موجوديت ها و متد ها ي وابسته به اونها رو كشيدم
    الان يه ابزار خوب ميخوام كه به صورت دياگرام مانند كلاس ها و متد هاي اون ها رو به سي شارپ منتقل كنم
    كار با linq خيلي راحته اگر با ابزاي كه شما ميگيد كار كنم مجبورم دستورات select و يا هر دستور كار با داده را به صورت string بنويسم؟
    با توجه به اينكه برنامه من اصلا داده هاش جايي ذخيره نميشن باز هم اين روش رو توصيه ميكنيد؟
    چگونه اساني كار با linq را فداي اين ابزار ميشه كرد ايا اين ابزار هم راه هاي ساده دارد؟
    چون من هيچ اطلاعاتي در اين مورد ندارم
    ضمن اينكه استاد موسوي سواال اول من رو پاسخ ندادين ساختن كلاس و ايجاد ابجكت ها و ذخيره اون ها داخل ليست بهتره يا استفاده از يه جدول با هر ابزاري
    ممنون
    آخرین ویرایش به وسیله saed2006 : یک شنبه 10 مهر 1390 در 14:39 عصر

  7. #7
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    استفاده از DataSet و DataTable اصلا توصیه نمی شه و نمی دونم چرا می گین کار با class سخته؟!!
    بهترین راه و راحت ترین راه برای شما استفاده از کلاس هست. حتی برای برنامه هایی که با DataBase کار می کنن دیگه استفاده از DataSet و DataTAble منسوخ شده و فلسفه اومدن ORM ها هم اینه که دیگه سمت برناممون با object ها سروکار داشته باشیم که کار کردن باهاشون راحتتره.
    پس شما شک نکنید که باید از class برای تعریف موجودیت هاتون کمک بگیرین

  8. #8

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    نقل قول نوشته شده توسط gwbasic مشاهده تاپیک
    استفاده از DataSet و DataTable اصلا توصیه نمی شه و نمی دونم چرا می گین کار با class سخته؟!!
    بهترین راه و راحت ترین راه برای شما استفاده از کلاس هست. حتی برای برنامه هایی که با DataBase کار می کنن دیگه استفاده از DataSet و DataTAble منسوخ شده و فلسفه اومدن ORM ها هم اینه که دیگه سمت برناممون با object ها سروکار داشته باشیم که کار کردن باهاشون راحتتره.
    پس شما شک نکنید که باید از class برای تعریف موجودیت هاتون کمک بگیرین
    سخته چون مجبوري براي ايجاد جدولي كه سطر ها داخلش ذخيره ميشن همش از ساختار هاي List استفاده كني
    خب جدول ساختار ليست رو داخل خودش داره
    اما اينكه چجوري ef كار رو راحت تر ميكنه هيچ اطلاعاتي در موردش ندارم

  9. #9
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    نقل قول نوشته شده توسط saed2006 مشاهده تاپیک
    سخته چون مجبوري براي ايجاد جدولي كه سطر ها داخلش ذخيره ميشن همش از ساختار هاي List استفاده كني
    خب جدول ساختار ليست رو داخل خودش داره
    اما اينكه چجوري ef كار رو راحت تر ميكنه هيچ اطلاعاتي در موردش ندارم
    سختی شو که من متوجه نشدم اگه می تونید مثال دقیق تر بزنید که چه چیزی با DataTable راحته و با لیستی از اشیاء کار کردن سخته
    اما ef جدا از مسئله هندل کردن ذخیره داده ها در DB ، ساختاری رو که سمت Client ایجاد می کنه همون class ها هست که شما دستتون در مورد داشتن قابلیت های Object Oriented بازه.

  10. #10
    کاربر دائمی آواتار mohsencom
    تاریخ عضویت
    آبان 1387
    محل زندگی
    رشت
    پست
    177

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    جناب gwbasic

    میشه لطف کنید بگید چرا استفاده از Dataset و Datatable منسوخ شده؟؟؟

    آیا شما منظورتون از استفاده از کلاس همون معماری سه لایه هست؟ شما چه راهی رو برای ارتباط با دیتابیس پیشنهاد میکنید؟

    اگه میشه یه توضیحی در این مورد بدید و اگه منبعی در این مورد سراغ دارید ذکر کنید...تشکر

  11. #11
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    نقل قول نوشته شده توسط mohsencom مشاهده تاپیک
    جناب gwbasic

    میشه لطف کنید بگید چرا استفاده از Dataset و Datatable منسوخ شده؟؟؟

    آیا شما منظورتون از استفاده از کلاس همون معماری سه لایه هست؟ شما چه راهی رو برای ارتباط با دیتابیس پیشنهاد میکنید؟


    اگه میشه یه توضیحی در این مورد بدید و اگه منبعی در این مورد سراغ دارید ذکر کنید...تشکر

    ساختار database یه ساختار Relational هست که برای ذخیره داده مفید هست ولی ما موقع کد نویسی می خوایم که از مفاهیم و قابلیت های شی گرایی استفاده کنیم مثل inheritance که DataSet این امکانو به ما نمی ده چون همون ساختار database رو داره برای ما شبیه سازی می کنه
    بحث چند لایه ربطی به این مسئله نداره چون Data Transfer Object مون می تونه DataSet هم باشه

  12. #12
    کاربر دائمی آواتار mohsencom
    تاریخ عضویت
    آبان 1387
    محل زندگی
    رشت
    پست
    177

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    نقل قول نوشته شده توسط gwbasic مشاهده تاپیک
    ساختار database یه ساختار Relational هست که برای ذخیره داده مفید هست ولی ما موقع کد نویسی می خوایم که از مفاهیم و قابلیت های شی گرایی استفاده کنیم مثل inheritance که DataSet این امکانو به ما نمی ده چون همون ساختار database رو داره برای ما شبیه سازی می کنه
    بحث چند لایه ربطی به این مسئله نداره چون Data Transfer Object مون می تونه DataSet هم باشه
    منظور شما اینه که از مفاهیم Dataset و DataTable کوچ کنیم و بریم به سمت مفاهیم ORM و استفاده از Entity Framework؟؟؟
    آیا برنامه هایی که با این قابلیت جدید نوشته میشن سرعت و Performance برنامه رو بهتر از قبل میکنند؟ گذشته از سادگی در نوشتن کد چه مزیتی دارتد؟
    چون خودم تازه میخوام با این مفاهیم آشنا بشم میپرسم و دلیلش هم اینه که میخوام برنامه هام سرعت و Performance بهتری نسبت به قبل داشته باشند

    سپاسگذارم از راهنماییتون

  13. #13
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    نقل قول نوشته شده توسط mohsencom مشاهده تاپیک
    منظور شما اینه که از مفاهیم Dataset و DataTable کوچ کنیم و بریم به سمت مفاهیم ORM و استفاده از Entity Framework؟؟؟
    آیا برنامه هایی که با این قابلیت جدید نوشته میشن سرعت و Performance برنامه رو بهتر از قبل میکنند؟ گذشته از سادگی در نوشتن کد چه مزیتی دارتد؟
    چون خودم تازه میخوام با این مفاهیم آشنا بشم میپرسم و دلیلش هم اینه که میخوام برنامه هام سرعت و Performance بهتری نسبت به قبل داشته باشند

    سپاسگذارم از راهنماییتون
    حتما استفاده از ORM‌می تونه مفید باشه اما در کل استفاده از ORM و کد نویسی به صورت چند لایه روی Performance‌تاثیر منفی می ذاره اما بخاطر مزایای که داره استفاده می شه ORM کار با DB رو راحت می کنه و کد نویسی رو کمتر و چند لایه نوشتن باعث تقسیم منطقی برنامه به چند بخش مجزا می شه که می تونه در نگهداری کد و درک و برسی کد در آینده به ما کمک زیادی بکنه.
    در کل وقتی که شما در سطح High Level می خواین برنامه نویسی کنید دیگه نباید خودتونو در گیر مثلا نوشتن لایه DataAccess‌بکنین باید سعی بشه از ایزار هایی که افراد حرفه ای نوشتن استفاده کنین که هم خوب تست شده هم قابل اعتماده و بیشتر ذهن برنامه نویس باید بره به سمت Bussiness . منطق برنامه حالا ممکنه این ابزار ها کمی باعث کندی هم بشن ولی امکاناتی که به ما می دن باعث می شه که ما از اونا استفاده کنیم

  14. #14

  15. #15

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    خب در بین ef های موجود کدوم از همه بهتر هست؟

  16. #16

  17. #17

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    نقل قول نوشته شده توسط mehdi.mousavi مشاهده تاپیک
    سلام.
    قبل از هر چیز، LINQ to SQL (و در نتیجه DBML ها) رو فراموش کنید (بدین دلیل) و از Entity Framework استفاده کنید. اما سوال اصلی، فرض کنید این In-Memory Data ها رو به هر شکل و شمایلی در برنامه نگهداری کردید، آیا در نهایت نباید این داده ها جایی Persist بشن؟ چون بالاخره با اتمام Process این برنامه، داده ها در صورتیکه فقط در Memory باشن از بین خواهند رفت... بنابراین اگر به هر دلیلی باید این داده ها رو Persist کنید، توصیه می کنم مدیریت اونها رو به یک DBMS بسپرید. اما اگر نیازی به Persist کردن اون داده ها ندارید، باز هم می تونید با استفاده از Entity Framework، مدلی برای داده های مورد نظرتون بسازید و توسط یک In-Memory Provider برای EF، داده ها رو در حافظه نگهداری کنید (بطور مثال SQLite از In-Memory Table ها پشتیبانی میکنه). البته شما ساز و کاری به اسم DataSet ها نیز دارید، که نگهداری داده ها رو بصورت Disconnected میسر کرده و نمی تونید اونو نیز نادیده بگیرید.

    موفق باشید.
    خب داده هاي من همه استاندارد نيست
    مثلا يه peroperty دارم enum هست
    يه peroperty دارم كه شيي از كلاسي هست كه توي سي شارپ ساختم

  18. #18

  19. #19

    نقل قول: طراحي برنامه اي بدون ديتا بيس

    در نهايت ميشه گفت اگر اطلاعات در ليست ها ذخيره بشن و ديتا بيسي در كار نباشه حافظه رم زياد مصرف ميشه
    و اگر در ديتا بيس ذخيره بشه كد نويسي بيشتري به ساخت برنامه تحميل ميشه
    كدوم را انتخاب كنم؟

  20. #20

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

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