1、单一职责原则(Single Responsibility Principle)

核心思想

定义
A class should have only one reason to change. ( 就一个类而言,应该仅有一个引起它变化的原因)

每一个职责都是变化的一个轴线(an axis of change)。当需求变化时,该变化会反映为类的职责变化。如果一个类承担了多于一个的职责,那么引起它变化的原因就会有多个。

如果一个类承担的职责过多,就等于把这些职责耦合在了一起。一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生是,设计会遭到意想不到的破坏。

引用自:《Agile Software Development, Principles, Patterns, and Practices》

关于这句话中的 “类的变化” 是指什么,书中并没有给出明确的说明。从字面上来理解的话应该是指类的代码的修改。

那么单一职责的作用是什么呢?我认为主要有以下几点:

  1. 降低类的复杂度
  2. 使代码的可读性和可维护性提高。
  3. 降低业务的耦合度,使某项业务修改时只需要关注一个点,而不是整个业务链。(后面举例说明)
阅读更多

使用Spring AOP 记录Spring MVC请求日志

前言

在一些场景中我们希望能够记录Http的请求地址、请求参数、应答数据、请求处理时间等信息。如果一个接口一个接口的增加日志太过浪费时间,而且容易发生遗漏。那么借助Spring AOP 对接口统一处理,肯定是比较好的方法。

阅读更多

IDEA中jclasslib插件修改本地化语言为英文的方法

IDEA中的jclasslib插件的语言做了本地化,因此在中国显示的语言为中文。

jclasslib插件中文界面

其实显示中文也挺不错,只是在学习字节码时,很多教程上的中文翻译会有些许差异,因此在学习时使用英文语言是最好的。

下面介绍设置方法。上面已经说了其实是因为你的本地语言为中文,所以才会显示中文。因此只需要设置JVM的本地语言即可

阅读更多