单一职责
代码优化第一步,单一职责原则 (Single Responsibility Principle)。对于一个Java类,应该仅有一个引起它变化的原因,也就是说,一个类中,应该是一组相关性很高的函数、数据的封装。但是这个原则的界限划分的并不是那么清晰,很大程度上要依赖于开发者的个人经验来定。对于单一职责界限的划分最大的问题就是类的职责是什么,如何划分类的职责。 单一职责原则在我们实际工作中随处可见,例如在我们比较关心的框架MVC,MVP中,负责页面展示的Activity,Fragment,以及各种View,它们只负责UI的展示,具体的业务逻辑则交付给Controller或者Presenter.。再例如各种流行的图片加载框架,在其中都可以找到专门负责图片加载类,图片缓存的类。所以,单一职责原则是我们代码优化的第一步,也是最重要的一步。
开闭原则
开闭原则(Open Close Principle),是Java世界里最基础的设计原则,它指导我们如何建立一个稳定、灵活的系统。开闭原则定义:软件中的对象(类,模块、函数等)应该对于扩展是开放的,对于修改的封闭的。在软件的生命周期内,因为变化、升级、维护等原因需要对软件原有的代码进行修改时,可能会将错误引入原本已经测试过的旧代码,破坏原有系统,因此,当软件需要变化时,我们应该进肯能通过扩展的方式来实现变化,而不是通过修改已有的代码来实现。但这也不是绝对的,在实际开发过程中,只通过继承的方式来升级、维护原有系统是一个理想化的情况,因此,实际开发中,修改原有代码、扩展代码往往是同时存在的。而如何确保原有软件模块的正确性,以及尽量少地影响原有代码模块,答案就是尽量遵守开闭原则。