程序设计

设计模式|单例模式

刘启春

在软件开发过程中经常会遇到一个类只需要一个对象, 我们在整个程序的运行过程供仅使用这个对象完成一部分功能, 这种类的设计有一个传统的名字——单例模式. 单例模式体现了功能的高内聚, 单例独自拥有一个系统的一部分功能, 通过单例对象在系统的任何地方调用方法也就统一管理的系统的这部分功能.

设计模式|工厂模式

刘启春

工厂模式属于创建型模式,它很好的解耦了对象的创建依赖。什么是对象的依赖呢? 在 java 中如果在一个类里new创建了一个对象, 就说明这个类依赖了被创建的对象的类

后端接口设计总结

刘启春

前后端分离开发的模式已经是项目开发的主流,它相比于传统的开发(例如 jsp+servlet、asp + .net、thymeleaf、freemaker 等)可以使开发者可以更专注自己的业务,这里先不讨论性能的问题,传统开发前后端往往耦合较大,开发过程前后端相互牵制,或者说后端几乎把前端的事情都做了,这种开发模式持续了很长时间,直到有一天 ajax 的出现,才打破了这种开发模式。使用前后端分离开发模式可以使前后端的开发同时进行,使开发者更专注自己的业务——前端更专注用户界面和体验,后端更注重业务逻辑的实现和业务查询性能。当然,没有十全十美的事物,起初,前后端分离也是有缺点,在 jsp+servlet 开发的时代,后端可以轻易的操作会话,意味着后端对前端的把控更足,但是在前后端分离的开发模式中,功能都是一个个的接口,使用接口都是通过 http 请求来完成的,前端请求后端接口是在一个黑盒的环境下,二者谁也不知到谁,这就给第三者或者恶意用户有机可乘,  循环调用接口,恶意增加删除数据,特别是用户相关的信息,都是公司最重要的数据。前后端分离后端如果没有一个很好的安全手段来防止这种危险是不行的。暴露出来了问题就要解决问题,随后,shiro、spring security,OAuth 等一系列安全框架规范应运而生,至此前后端分离的开发模式才真正的趋于完善。