原文连接:http://tieba.baidu.com/p/5057895435?pn=1 spring
1:代码格式,驼峰标识,缩进,命名规范什么的session
2:写代码时请先想后写,不要边想边写ide
3:一个类里请不要写太多方法(实体类除外)设计
4:一个方法里不要写太多代码对象
5:当一段代码被你复制到多个地方使用时,请封装这段代码继承
6:继承能够帮你节约不少代码,当时请尽可能少用继承。做为一种强关联结构,若是你大量的运用继承来管理你类的关系,那么在未来发生一点点需求的变化对你来讲均可能会是一场灾难接口
7:组合和继承相反,是一种松散的结构,所以用组合来代替继承是一种很好的设计事务
8:思考一个功能时不要考虑先干什么后干什么,正确的思考方式是字符串
1:功能须要用到哪些类?2:类与类之间的关系时什么get
9:将接口做为入参是一种很好的设计方式,请在你的代码中尝试使用它
10:接口职责请尽可能单一,5个接口协同完成一个功能要远远超过一个接口完成5个功能
11:若是你用一个字符串做为标识,请尝试把它设计成数据字典或配置文件
12:若是你实在懒得写数据字典或配置文件清至少把它写成枚举
13:若是你实在懒得写枚举,请至少把它写成常量
14:软件设计中有不少原则,大部分你能够不记,但请务必记住其中的一个“开闭原则”
15:在Hibernate中除了数据字典外,其余的关联关系都建议设置为lazy(特殊状况下例外)
16:在Hibernate中将外键也映射为实体类中的一个属性会给你带来莫大的好处
17:一样在多对多关联中,将中间表也映射为一个实体类一样会带给你莫大的好处
18:.在Hibernate中若是你分不清saveorupdate和merge的区别,那么请使用merge
19:OpenSessionInView是一个不错的过滤器,但请不要过度依赖它
20:Map是一种很好的容器能帮咱们解决不少问题,但请不要滥用。
public Map<String, String> xxx(Map<String,String> param);
像这种方法,在没有注释的状况下鬼都不知道你想干吗
21:哪些业务该放在一块儿写?哪些业务该分开写?若是你正在纠结此类问题,那么请站在事务的角度上思考,须要在同一事务运行的业务请写在一块儿,不然请分开。
22:当你的代码很是复杂时能够考虑将service也分为两层,一层专门用来提供CRUD服务,另一层专门用来组织对象关系
23:泛型是一种很是好的写法,请不管如何也要使用
24:若是你用session作用户登陆,请在用户登陆成功后删除掉旧的session,并将旧session中存放的内容放到新session中
25:若是你用spring security来作用户登陆则能够没必要像上面那样作,由于spring已经替你作了
26:工厂模式和单例模式是两个常见的模式,经常被新手提起,但在spring横行的当下,这两种模用的相对较少了,反而策略模式和观察者模式常常有机会使用