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

نام تاپیک: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

  1. #1
    کاربر دائمی آواتار jas1387
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    مرکز ایران
    پست
    326

    برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    سلام دوستان

    در برنامه نویسی چند لایه ( سه لایه ) بهتر است که لایه ها در پوشه های جداگانه باشند یا در پروژه های جداگانه و چرا ؟

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

    نقل قول: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    نقل قول نوشته شده توسط jas1387 مشاهده تاپیک
    سلام دوستان

    در برنامه نویسی چند لایه ( سه لایه ) بهتر است که لایه ها در پوشه های جداگانه باشند یا در پروژه های جداگانه و چرا ؟
    میتونه در پروژه های جداکانه باشه اگه میخواهی لایه ها در سرور های مختلف run بشه و گرنه لزومی نداره
    در ضمن بهترین راه اینه که دو class library به نام های BLL و DAL ایجاد کنی و اونها رو به همراه یک web app یا win app در یک solution قرار بدی
    سر آخر فقط دو فایل BLL ِDal داری به همراه یک پروژه

  3. #3
    کاربر دائمی آواتار jas1387
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    مرکز ایران
    پست
    326

    نقل قول: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    نقل قول نوشته شده توسط naser2009 مشاهده تاپیک
    بهترین راه اینه که دو class library به نام های BLL و DAL ایجاد کنی
    دوست عزیز هم منظورم همین بود اشتباه رسندم


    حالا برای هر جدولی یه کلاس تعریف کنم یا این که همش توی یه کلاس باشه ؟

  4. #4
    کاربر دائمی آواتار ezamnejad
    تاریخ عضویت
    آبان 1386
    محل زندگی
    جلوي مانيتور
    پست
    257

    نقل قول: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    نقل قول نوشته شده توسط jas1387 مشاهده تاپیک
    حالا برای هر جدولی یه کلاس تعریف کنم یا این که همش توی یه کلاس باشه ؟
    هرچه اطلاعات مجزا باشند بهتره چون مدیریتش راحت تر میشه بهتره هر جدول توی یک کلاس باشه

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

    نقل قول: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    نقل قول نوشته شده توسط jas1387 مشاهده تاپیک
    دوست عزیز هم منظورم همین بود اشتباه رسندم


    حالا برای هر جدولی یه کلاس تعریف کنم یا این که همش توی یه کلاس باشه ؟
    نه بهتره جدا باشه
    در ضمن مگه شما از class diagram استفاده نكردي (uml) كه كلاس هاتون معلوم باشه
    هميشه سعي كن از روي class diagram بانك رو طراحي كني و سپس از روي بانك (به همراه روابط) برو سراغ كلاس ها.و دسته بندي اونها.
    تقريبا ميشه گفت واسه هر table‌بايد يك كلاس ايجاد كني

  6. #6
    کاربر دائمی آواتار jas1387
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    مرکز ایران
    پست
    326

    نقل قول: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    پس باید کانکشنم را توی یه کلاس مجزا به صورت عمومی تعریف کنم تا بهتونم توی هر کدوم از کلاس های مربوط به جدول هام ازش استفاده کنم ، درسته ؟

  7. #7
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    نقل قول نوشته شده توسط jas1387 مشاهده تاپیک
    پس باید کانکشنم را توی یه کلاس مجزا به صورت عمومی تعریف کنم تا بهتونم توی هر کدوم از کلاس های مربوط به جدول هام ازش استفاده کنم ، درسته ؟
    بهترین روش:
    thread specific singleton

    #if SQLite
    public static SQLiteConnection Connection
    {
    get
    {
    initCon();
    return Con[Thread.CurrentThread];
    }
    }
    #endif
    #if SqlServer
    public static SqlConnection Connection
    {
    get
    {
    initCon();
    return Con[Thread.CurrentThread];
    }
    }
    #endif
    #if SQLite
    private static Dictionary<Thread, SQLiteConnection> Con;
    #endif
    #if SqlServer
    private static Dictionary<Thread, SqlConnection> Con;
    #endif
    #if SqlServer
    private static void initCon()
    {
    if (Con == null)
    {
    Con = new Dictionary<Thread, SqlConnection>();
    }
    SqlConnection connection = null;
    if (!Con.ContainsKey(Thread.CurrentThread))
    {
    connection = Esfand.ProfileManagement.SQLServer.GetConnection() ;
    connection.Open();
    Con.Add(Thread.CurrentThread, connection);
    ExecuteNonQuery("USE [Esfand]", connection);
    }
    else
    {
    connection = Con[Thread.CurrentThread];
    }
    while (connection.State != ConnectionState.Open)
    {
    }
    }
    #endif
    internal static void RefreshConnections()
    {
    Collection<Thread> collection = new Collection<Thread>();
    foreach (Thread thread in Con.Keys)
    {
    if ((thread == null) || (thread.ThreadState == System.Threading.ThreadState.Stopped))
    {
    collection.Add(thread);
    }
    }
    foreach (Thread thread in collection)
    {
    Con.Remove(thread);
    }
    collection.Clear();
    }

    #if SQLite
    public static SQLiteConnection Connection
    {
    get
    {
    initCon();
    return Con[Thread.CurrentThread];
    }
    }
    #endif
    #if SqlServer
    public static SqlConnection Connection
    {
    get
    {
    initCon();
    return Con[Thread.CurrentThread];
    }
    }
    #endif
    #if SqlServer
    internal static SqlDataReader ExecuteReader(string Text)
    {
    initCon();
    SqlCommand command = new SqlCommand(Text, Connection);
    return command.ExecuteReader();
    }
    #endif
    #if SQLite
    internal static SQLiteDataReader ExecuteReader(string Text, SQLiteConnection Connection)
    {
    SQLiteCommand command = new SQLiteCommand(Text, Connection);
    return command.ExecuteReader();
    }
    #endif
    #if SqlServer
    internal static SqlDataReader ExecuteReader(string Text, SqlConnection Connection)
    {
    SqlCommand command = new SqlCommand(Text, Connection);
    return command.ExecuteReader();
    }
    #endif

  8. #8
    کاربر دائمی آواتار ezamnejad
    تاریخ عضویت
    آبان 1386
    محل زندگی
    جلوي مانيتور
    پست
    257

    نقل قول: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    نقل قول نوشته شده توسط jas1387 مشاهده تاپیک
    پس باید کانکشنم را توی یه کلاس مجزا به صورت عمومی تعریف کنم تا بهتونم توی هر کدوم از کلاس های مربوط به جدول هام ازش استفاده کنم ، درسته ؟
    وقتی به صورت لایه ای برنامه می نویسید ارتباط به دیتابیس از طریق لایه Dal انجام میشه . با ذخیره کانکشن در فایل app.conig هر موقع که نیاز به ارتباط باشه میتونید با استفاده از یک متد کانکشن را از فایل config دریافت کنید .
    پروژه ای که در امضای من وجود داره هم به همین روش نوشته شده میتونید ببینید امیدوارم مفید باشه.

  9. #9
    کاربر دائمی آواتار jas1387
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    مرکز ایران
    پست
    326

    نقل قول: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    نقل قول نوشته شده توسط ezamnejad مشاهده تاپیک
    با ذخیره کانکشن در فایل app.conig هر موقع که نیاز به ارتباط باشه میتونید با استفاده از یک متد کانکشن را از فایل config دریافت کنید .
    سلام دوست عزیز

    اگه امکان داره یه خورده درباره فایل app.conig توضیح بدهید

    من می خواهم برنامه ام قابلیت شبکه شدن رو داشته باشه ( یعنی می خواهم توی برنامه ام جای را در نظر بگیرم تا کاربر بتواند نام کامپیوتر سرور را وارد کند و به آن وصل شود ) آیا این فایل رو میشه ویرایش کرد ( برای کانکشن سرور )

  10. #10

    نقل قول: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    سلام به دوستان و اساتيد گرامي
    استاد FastCode ميشه درباره كدي كه گزاشتين يه توضيحي بدين ممنون ميشم .
    درباره قرار دادن كانكشن در فايل config بهتر نيست اطلاعات و در كد برنامه يا در بخشي ديگر در يك فايل به صورت hash شده قرار داد چون زمان قرار دادن اطلاعات بر روي سرور كسانيكه به سرور دسترسي دارن خوب ميتونن به فايل config به راحتي دسترسي داشته باشند و بعد خوب الي آخر معلومه چي ميشه ديگه !!!
    آيا امكان hash كردن اطلاعات config وجود دارد ؟
    موفق باشيد

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

    نقل قول: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    سلام
    دوست عزیزم این برنامه که زحمتش رو کشیدین، فایل DataBase مربرط به اون ضمیمه نشده...
    از کجا کی تونیم بگیریم؟

  12. #12
    کاربر دائمی آواتار ezamnejad
    تاریخ عضویت
    آبان 1386
    محل زندگی
    جلوي مانيتور
    پست
    257

    نقل قول: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    نقل قول نوشته شده توسط sky_in_iran مشاهده تاپیک
    سلام به دوستان و اساتيد گرامي
    درباره قرار دادن كانكشن در فايل config بهتر نيست اطلاعات و در كد برنامه يا در بخشي ديگر در يك فايل به صورت hash شده قرار داد چون زمان قرار دادن اطلاعات بر روي سرور كسانيكه به سرور دسترسي دارن خوب ميتونن به فايل config به راحتي دسترسي داشته باشند و بعد خوب الي آخر معلومه چي ميشه ديگه !!!
    آيا امكان hash كردن اطلاعات config وجود دارد ؟
    موفق باشيد
    کسی که به سرور دسترسی داره دیگه چه نیازی به اطلاعات config داره ؟ میتونه دیتابیس را مستقیما ببینه و هرکاری که میخواد انجام بده
    امکان hash کردن وجود داره .

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

    نقل قول: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    نقل قول نوشته شده توسط ezamnejad مشاهده تاپیک
    امکان hash کردن وجود داره .
    بله امکان hash کردن web.config وجود داره!

  14. #14
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: برنامه نویسی چند لایه پوشه ای یا پروژه ای ؟

    نقل قول نوشته شده توسط sky_in_iran مشاهده تاپیک
    سلام به دوستان و اساتيد گرامي
    استاد FastCode ميشه درباره كدي كه گزاشتين يه توضيحي بدين ممنون ميشم .
    من توی چند تا پراسیجر Cross-database برای شما گزاشتم که با اونها میتونید یه sqlserver یا sqlite وصل بشید و برای گرفتن کانکشن من از
     Esfand.ProfileManagement.SQLServer.GetConnection() 

    استفاده کردم که توی برنامه خودم تنظیمات connection هر کاربر رو از profile اون کاربر میخونه و یه connection میده.

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

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