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

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

  • 相关阅读:
    理解盒子模型
    Jackson 框架,轻易转换JSON
    JAVA仿百度分页
    最干净,最便捷的卸载Mysql
    Mysql 6.0安装过程(截图放不上去)
    开发JSP自定义标签
    JAVA实现文件上传
    开发过程中常用工具类
    JQUERY 简单易用的提示框插件
    什么是Bash Shell的内建(build in)命令
  • 原文地址:https://www.cnblogs.com/gujf2016/p/6268551.html
Copyright © 2011-2022 走看看