هل هو سوء استخدام فئة المتغيرات في مؤشرات التطبيق ؟

StackOverflow https://stackoverflow.com/questions/808301

  •  03-07-2019
  •  | 
  •  

سؤال

لقد ورثت المشروع الذي يحتاج إلى mutithreaded.هناك ثلاث فئات رئيسية التي تستخدم في المواضيع عامل.

الفئة الأساسية - لديه مستوى الصف SqlDataAdapter و DataTable.ورثت فئة واحدة - يستخدم ورثت SqlDataAdapter و DataTable.ورثت الفئة الثانية - يستخدم ورثت SqlDataAdapter و DataTable.

كل شيء طبقات العمل ، ولكن ليس لدي سوى اثنين من المستخدمين اختبار في نفس الوقت.

هو وجود SqlDataAdapter و DataTable يكون على مستوى الصف المتغيرات فكرة سيئة ؟

التحديث آسف SqlDataAdapter لا SqlTableAdapter.لغة C#.على SqlDataAdapter و DataTable من النظام.البيانات.SqlClient مساحة الاسم.

هنا بعض من الفئة الأساسية:

public abstract class BaseSync
{
    #region Variables
    internal SqlDataAdapter stageDataAdapter;
    internal DataTable stageDataTable;
    #endregion //Variables
}

الجزء الثاني

وهناك أيضا المفرد فئة فائدة أن جميع الفئات المشتقة استخدام.أنا لا أعرف ما إذا كان سوف يسبب مشاكل أم لا.يبدو مثل هذا:

public class Utility
{ 
    private static readonly Utility _utility= new Utility();

    private Utility()
    { }

    public static Utility GetUtility()
    {
        return _utility;
    }

    public int GetAutoNumber(string tablename, string fieldname, string siteId)
    {
        string _tablename = tablename;
        string _fieldname = fieldname;
        ...
    }

    internal MissingInfo NormalizeRow(DataRow dataRow)
    {

        MissingInfo retVal = MissingInfo.None;

        //Num
        if (dataRow["Num"] == DBNull.Value)
        {
           retVal =MissingInfo.Num;
           dataRow["Num"] = 1;
        }
        ...
    }
}
هل كانت مفيدة؟

المحلول

هذا يعتمد على مستوى الوصول إلى الكائنات.طالما أنها ليست ثابتة (مشترك في VB.NET).يجب أن يكون على ما يرام وجود لهم في وجوه طالما كل موضوع ، لها مثيل الكائن.

حيث تأتي في الحالات المثيرة للاهتمام مع أعضاء ثابتة التي هي مشتركة بين جميع الحالات.

لذلك منذ فترة طويلة وقصيرة من ذلك هو أن نحتاج إلى قانون.

نصائح أخرى

وجود متغيرات معدلة من المواضيع المختلفة دون مزامنة دائما حقا فكرة سيئة.

لا أذكر إذا كان هذا هو الحال على الرغم من.إذا الموضوع, أنت بحاجة إلى خطة وتحقق ما كنت تفعل.

القاعدة حول المتغيرات هو أن أكثر الأماكن التي يمكن أن تغير من المزيد من الفرص هناك من شروط السباق ، وخاصة إذا كان التطبيق يتطور.

ليس هناك الكثير من informtion في سؤالك لذلك من الصعب تقديم إجابة محددة.فئة مستوى المتغيرات (إذا كان العام) غالبا ما يمكن علاجها مثل المتغيرات العالمية وبالتالي يمكن الوصول إليها من كل مكان ، رفع مخاطر الفساد.

نهج محتمل قد يكون إخفاء هذه الحقول في توفير الوصول عبر الطبقة على مستوى الوظائف.ثم يمكنك أن تفعل المزيد من الأشياء لأنك قمت بإنشاء نقاط محددة من الوصول إلى هذه المتغيرات.سوف تحتاج إلى أن يكون حذرا للتأكد من أن كنت لا تعطي التطبيقات المباشرة وغير قابلة للتغيير إشارات إلى هذا الكائن ، التي قد تتطلب إعادة كتابة ، ولكن من شأنه أن يجعل البرنامج الخاص بك أكثر أمانا.

يجب عليك أن تنظر دائما القيام التزامن عند مشاركة غير ثابت كائنات متعددة في الموضوع وإلا سوف ينتهي أخطأت يوما ما...

لذا لا بأس إذا كنت تريد أن تجعل من فئة متغير, ولكن تذكر أن تجعل بعض قفل آلية لذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top