大道至简至易,法无定法。譬如我们知道设计模式有23种之多,但又有多少程序员能灵活使用到实际项目中去?
下面谈谈在实际开发中的一些设计思想,希望对大家的架构设计有帮助。
第一,分而治之。面对一个庞大而复杂的系统时,我们是否会感觉到无从下手,这种情况,我们可以梳理一下业务,然后根据高内聚低耦合的原则,对系统进行划分,从而各个击破。目前流行的微服务架构很好的阐述了这一点。
第二,化繁为简。把一件复杂的事件拆分成一个个简单的小步骤来完成,这就是它的精髓。比如说一个很复杂的算法,要一下子去理解它很难,那么我们可以分步骤来实现,每一步都尽量的简单详细可行。
第三,时间换空间。简单来说,就是有时候我们希望能节省存储空间,那么就可以通过延长时间从而达到节省空间的目的。比如说某个业务可以忍受高延时,那么可以不使用缓存。
第四,空间换时间。简单来说,就是有时候我们希望高性能,响应时间短,那么可以通过一些高性能的存储空间来实现。我们都知道,数据读取内存会比磁盘快很多,把数据放在内存里会让响应时间更快。
第五,同步异步。对于一些业务需要保证高一致性的,可以使用同步的方法,对于共享变量同时有一个线程读写。对于一些业务需要高并发高吞吐量的,可以使用异步的方法,多线程执行。这方面使用消息队列来实现将变得很重要。