开发技巧----------项目中常量类的定义方式

问题:

  有开发经验的同学都知道,常量类是一个最常用的定义数据字典的方式。但是随着项目的开发时间和开发团队的变化经常会出现2中特别苦逼的情况。第一种情况是项目中到处都能看到各种各样的常量类;第二种情况是一个常量类里定义非常多的常量,甚至有的超过100了。这两种情况的缺点估计大家都非常的清楚,第一种代码离散、冗余、维护难;第二种也是维护难,更痛苦的时候用ide的时候很难找到自己需要的常量。

解决办法:

  1.使用静态内部类对常量进行分组(可以多级分组,但是建议最多3级)

2.外部文件(这里不讨论)

3.其他(需要继续发现)

代码示例:

package com.xxw.java.designpattern.pojo;

/**
 * 常亮定义的方式,注意分组
 *
 * promotion项目常用常量类
 * @author xuxuewen
 */
public class PromotionConstant {

	/**
	 *
	 * @author xuxuewen
	 * 活动类型
	 */
	public static class  ActivityType {
		/**
		 * 未开始
		 */
		public static final String ACTIVITY_ONE = "1";
		/**
		 * 进行中
		 */
		public static final String ACTIVITY_TWO = "2";
		/**
		 * 已售罄
		 */
		public static final String ACTIVITY_THREE = "3";
		/**
		 * 已结束
		 */
		public static final String ACTIVITY_FOUR = "4"; 

	}
	/**
	 *
	 * @author xuxuewen
	 * 品牌id
	 */
	public static class BrandId {
		/**
		 * 品牌一
		 */
		public static final Integer brand_one = 1;
		/**
		 * 品牌二
		 */
		public static final Integer brand_two = 2;
		/**
		 * 品牌三
		 */
		public static final Integer brand_three = 3;
		/**
		 * 品牌四
		 */
		public static final Integer brand_four = 4;
	}
}

 引用的时候的效果:

   

说明:

  以上文字只是为了方便个人记录总结!

  

开发技巧----------项目中常量类的定义方式

时间: 2024-08-07 05:22:51

开发技巧----------项目中常量类的定义方式的相关文章

CK2020微信小程序入门与实战 常用组件API开发技巧项目实战

新年伊始,学习要趁早,点滴记录,学习就是进步! 随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到程序开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了.对于学习有困难不知道如何提升自己可以加扣:1225462853  获取资料. 下载地址:https://pan.baidu.com/s/1hsU5EIS 微信小程序入门与实战 常用组件API开发技巧项目实战 小程序官方正式公告,开放了更多的入口,个人开发者可以申请

iOS HmacSHA1加密 和 MD5 Base64加密 --iOS开发系列---项目中成长的知识五

项目中开发中需要对一些数据进行加密后和服务器验证是否是我们客户端发出的请求! 方案是服务器定的,使用HmacSHA1加密和MD5 Base64加密 加密过程比较复杂 1.获取格林威治时间 2.用base64编码对请求数据内容进行MD5值计算 3.设置请求格式 4.设置鉴权信息,需要对上面的3个内容以及请求的链接 进行HMacSHA1再次进行加密 加密过后把上面4步获得的值加入到http的请求头中,一并发送给服务器,服务器经过验证后,才返回给我们我们想要的信息 下面贴代码说明我们使用的两个加密 首

在Spring项目中使用@Scheduled注解定义简单定时任务

如题所示,有时候我们需要在Web项目中配置简单的定时任务,而且因为任务并不复杂不想使用定时调度框架(PS:Quartz.ActiveMQ .Kafka等),这时就可以考虑使用@Scheduled注解来定义简单的定时任务.其全部配置如下: (1)在Spring的配置文件中添加定时任务相关配置: xml配置的头文件中添加: xmlns:task="http://www.springframework.org/schema/task" 以及在xsi:schemaLocation中添加: ht

Maven项目中java类报错-Cannot resolve symbol

电脑蓝屏了,强制重启之后再打开IDEA里面的项目,所有Java类文件都在报Cannot resolve symbo错误,可以确定所有依赖的包都有引用且jar包没有冲突. 经查询找到这个解决方法: 在IDEA中 点击 File   ->   Invalidate Caches/Restart,清理了缓存重启IDEA就解决了 原文地址:https://www.cnblogs.com/yw-ah/p/8508314.html

设置tableview的滚动范围--iOS开发系列---项目中成长的知识三

设置tableview的滚动范围 有时候tableview的footerview上的内容需要向上拖动界面一定距离才能够看见, 项目中因为我需要在footerviw上添加一个按钮,而这个按钮又因为这个原因点不中,所以找到了解决办法! 添加如下方法即可 -(void)scrollViewDidScroll:(UIScrollView *)scrollView { self.tableView.contentSize = CGSizeMake(0,MZT_SCREEN_HEIGHT); }

iOS dateformatter设置GMT格式时间--iOS开发系列---项目中成长的知识四

今天在项目中开始接手客户端的签名这个模块,签名这个会在项目结束过后再单独写一下自己的心得! 今天讲讲在签名的过程中我们需要向服务器传送一个Date值,格式要求是格林威治时间,也就是GMT时间! 格式要求是 22 Oct 2015 10:20:35 GMT 而我通过[NSDate Date]获取到的格式是2015-10-22 10:20:35 所以就上网搜寻答案 说的是通过[NSDate Date]这个获取到的时间就是GMT地区的,所以我就觉得是转格式的地方出问题了 但是经过一番尝试后,无论是转格

eclipseg的javaweb 项目中创建类的时候出现creation of element failed MALFORMED

出现这种情况的解决办法是查看该工作区间中所有的web项目中的 WebContent-------WEB-INF----lib查看里面的文件是不是全是.jar

(21)项目中Hibernate Session的管理方式

1.openSession和getCurrentSession的区别 package com.rk.hibernate.cache; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.junit.Test; public class App_SessionInProject { private static Se

C#.NET常见问题(FAQ)-使用SharpDevelop开发 如何在项目中添加类文件

点击文件-新建-文件,然后再工程内创建文件 ? 或者工程-添加-新建项 ? ? 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 ? 我的在线论坛: http://csrobot.gz01.bdysite.com/ ? 问题交流: QQ:910358960 邮箱:[email protected] ? ?