zoukankan      html  css  js  c++  java
  • 成员变量太多怎么破?

      在软件开发过程中我们经常遇到某个类的成员变量越来越多,显的乱糟糟的,有没有一种优雅的解决方法呢?如果大多是BOOL型可以使用BitArray来管理这些变量,其它类型可以创建一个数据结构包含进去。

    BitArray: Manages a compact array of bit values, which are represented as Booleans, where true indicates that the bit is on (1) and false indicates the bit is off (0).

      

    public class BitArrayTest
            {
                private BitArray bitArray;
    
                public BitArrayTest()
                {
                    int leng = Enum.GetValues(typeof(Flag)).Length;
                    bitArray = new BitArray(leng);
                }
    
                public bool GetFlag(Flag flag)
                {
                    lock(bitArray.SyncRoot)
                    {
                        return bitArray[(int)flag];
                    }
                }
                public void SetFlag(Flag flag, bool result)
                {
                    lock(bitArray.SyncRoot)
                    {
                        bitArray[(int)flag] = result;
                    }
                }
    
                public void ResetFlag()
                {
                    lock (bitArray.SyncRoot)
                    {
                        bitArray.SetAll(false);
                    }
                }
    
                public void SetFlagTrue(Flag flag)
                {
                    SetFlag(flag, true);
                }
    
                public void SetFlagFalse(Flag flag)
                {
                    SetFlag(flag, false);
                }
            }
    View Code

    比如有成员变量flagOne,flagTwo, flagThree,可以通过一个枚举类映射变量:

    public enum Flag
            {
                flagOne,
                flagTwo,
                flagThree,
            }
    View Code

    设置和读取变量:

    BitArrayTest test = new BitArrayTest();
                test.SetFlagTrue(Flag.flagOne);
                if (test.GetFlag(Flag.flagOne))
                {
    
                }
    View Code

    代码是不是变得整洁了呢?

  • 相关阅读:
    2012-2013年度大总结
    [每日一题] 11gOCP 1z0-052 :2013-08-31 数据库的存储结构....................................................A8
    Oracle约束操作
    几道字典树题目
    1032
    uva 10718 Bit Mask(贪心)
    找工作笔试面试那些事儿(2)---内存管理那些事
    汉语-词语:结构
    汉语-词语:形式
    汉语-词语:方向
  • 原文地址:https://www.cnblogs.com/gujf2016/p/6268551.html
Copyright © 2011-2022 走看看