程序员应该知道的基本架构思想
说到系统的架构,初学者可能没有意识到,对于已经从事多年的开发的朋友可能会知道,一个系统的运作是否正常,是否能够高效的运作关键在于系统的架构,因为一个系统只有一个好的架构才能支持更多的用户,更多的应用接入到系统中。下面将和大家分享一些关于系统架构方面的一些问题。
很多的程序员可能会有这样的一个想法那就是,能够完成编程任务,不管程序是怎么实现的,程序的内存运行情况,程序的内部是怎么运行的,可能很多的朋友都不会关心。这也是现在很多的程序员面临的一个非常严重的问题,最为一个合格的程序员不仅要快速完成编程任务还要保证代码的质量,所谓的质量就是程序的内部运行情况,包括程序在运行的时候内存的分配情况,程序的性能问题是最为关键的一个问题。
说到这里我们就说一个真实的事情,我的一个朋友能够在一台配置很低的电脑上快速的跑出一个数据量是千万级的一个存储过程,这是什么概念,可能,可见程序的运行不要依赖系统的硬件资源,你要知道,我们的所做的工作就是要在用最少的资源来实现最大的价值,这才是我们这些程序员所要努力做的事情,其实,要做到这样的水平,并不是那么难的,只要你肯努力就能达到这样的水平的,当然这样的路还很长的。
数据分离
一个好的系统是需要做的不依赖数据,为了考虑后期的数据迁移或者更换数据库这样的操作,程序员要有这样的意识,在写代码的时候要注意和数据操作的这部分要分离开来,如果有数据库变更可以直接的修改数据操作这部分,这样就能达到改动小,减少了重复工作的可能性。当然要做到数据分离还不是一个简单的事情,需要做的事情真的很多的。一般数据的操作都是在DAO这层,对于操作SQL这部分,我一般都是建议不要把SQL写在程序中,这样如果后期sql有改动是不是要改动项目,重新编译,如果你是把SQL写在配置文件中,只需要改一个配置文件就好了,是不是很简单,程序员在写任何一个和数据库操作的时候都应该考虑这个问题的,因为只有你在不断的思考,才有进步的。
低耦合
现在的系统功能都很复杂的,如果在系统架构的时候不考虑耦合这个问题,后面的会有很多的问题的,因为你的一个简单的操作,看似很简单的,但是你会发现这个和系统的其他部分是有联系的,系统的正常运作是没有问题的,考虑到系统的后期扩展就很难了,开始设计的时候没有考虑这个问题,后面在做就要重新开始了,试想一下作为一个大型的软件,如果遇到这样的问题可能是毁灭性的打击。
高性能
代码的好坏不是简单的看你写了多少,而是代码在不同的环境中,是否能够正常的运行,对系统的物理资源是否有依赖性。有句话说的好,好的代码不是写出来的,是改出来的,说的非常好,其实只要你仔细观察你会发现你的大部分时间都是在系统的调试上,功能的实现其实不是那么的难,合格的程序员都知道,高性能是他们的追求的目标。
高移植
一个大型的应用系统可能在不同的环境中都有发布,如果才能做到这样的功能,其实很简单,就是在开发系统前,系统架构这部分要考虑的问题。程序员应该有这样的意识无论是大型项目还是小型的项目都应该用更高的要求来对待任何一个软件项目,这样你会发现后期的工作会很轻松的。
写在最后
作为一个程序员不能永远都停留在写代码这个层次上,而是要对自己要求严格一点,开发任何一个系统都要考虑系统的高可用性,用高并发,严格要求自己,你会发现自己在2020年有更多的收获。如果你在学习的过程中遇到问题欢迎在评论下评论。