最近给团队新人讲了一些设计上的常识,可能会对其它的新人也有些帮助, 把暂时想到的几条,先记在这里. 1.API与SPI分离 框架或组件通常有两类客户,一个是使用者,一个是扩展者. API(Application Programming Interface)是给使用者用的, 而SPI(Service Provide Interface)是给扩展者用的. 在设计时,尽量把它们隔离开,而不要混在一起, 也就是说,使用者是看不到扩展者写的实现的. 比如: 一个Web框架,它有一个API接口叫Action…