- 浏览: 9430 次
- 性别:
- 来自: 杭州
最新评论
说到系统的架构,初学者可能没有意识到,对于已经从事多年的开发的朋友可能会知道,一个系统的运作是否正常,是否能够高效的运作关键在于系统的架构,因为一个系统只有一个好的架构才能支持更多的用户,更多的应用接入到系统中。下面新霸哥将和大家分享一些关于系统架构方面的一些问题。
很多的程序员可能会有这样的一个想法那就是,能够完成编程任务,不管程序是怎么实现的,程序的内存运行情况,程序的内部是怎么运行的,可能很多的朋友都不会关心。这也是现在很多的程序员面临的一个非常严重的问题,最为一个合格的程序员不仅要快速完成编程任务还要保证代码的质量,所谓的质量就是程序的内部运行情况,包括程序在运行的时候内存的分配情况,程序的性能问题是最为关键的一个问题。
说到这里新霸哥来说一个真实的事情,新霸哥的一个朋友能够在一台配置很低的电脑上快速的跑出一个数据量是千万级的一个存储过程,这是什么概念,可能,可见程序的运行不要依赖系统的硬件资源,你要知道,我们的所做的工作就是要在用最少的资源来实现最大的价值,这才是我们这些程序员所要努力做的事情,其实,要做到这样的水平,并不是那么难的,只要你肯努力就能达到这样的水平的,当然这样的路还很长的。
数据分离
一个好的系统是需要做的不依赖数据,为了考虑后期的数据迁移或者更换数据库这样的操作,程序员要有这样的意识,在写代码的时候要注意和数据操作的这部分要分离开来,如果有数据库变更可以直接的修改数据操作这部分,这样就能达到改动小,减少了重复工作的可能性。当然要做到数据分离还不是一个简单的事情,需要做的事情真的很多的。一般数据的操作都是在DAO这层,对于操作SQL这部分,新霸哥一般都是建议不要把SQL写在程序中,这样如果后期sql有改动是不是要改动项目,重新编译,如果你是把SQL写在配置文件中,只需要改一个配置文件就好了,是不是很简单,程序员在写任何一个和数据库操作的时候都应该考虑这个问题的,因为只有你在不断的思考,才有进步的。
低耦合
现在的系统功能都很复杂的,如果在系统架构的时候不考虑耦合这个问题,后面的会有很多的问题的,因为你的一个简单的操作,看似很简单的,但是你会发现这个和系统的其他部分是有联系的,系统的正常运作是没有问题的,考虑到系统的后期扩展就很难了,开始设计的时候没有考虑这个问题,后面在做就要重新开始了,试想一下作为一个大型的软件,如果遇到这样的问题可能是毁灭性的打击。
高性能
代码的好坏不是简单的看你写了多少,而是代码在不同的环境中,是否能够正常的运行,对系统的物理资源是否有依赖性。有句话说的好,好的代码不是写出来的,是改出来的,说的非常好,其实只要你仔细观察你会发现你的大部分时间都是在系统的调试上,功能的实现其实不是那么的难,合格的程序员都知道,高性能是他们的追求的目标。
高移植
一个大型的应用系统可能在不同的环境中都有发布,如果才能做到这样的功能,其实很简单,就是在开发系统前,系统架构这部分要考虑的问题。程序员应该有这样的意识无论是大型项目还是小型的项目都应该用更高的要求来对待任何一个软件项目,这样你会发现后期的工作会很轻松的。
作为一个程序员不能永远都停留在写代码这个层次上,而是要对自己要求严格一点,开发任何一个系统都要考虑系统的高可用性,用高并发,严格要求自己,你会发现自己在2017年有更多的收获。如果你在学习的过程中遇到问题欢迎和新霸哥交流。
很多的程序员可能会有这样的一个想法那就是,能够完成编程任务,不管程序是怎么实现的,程序的内存运行情况,程序的内部是怎么运行的,可能很多的朋友都不会关心。这也是现在很多的程序员面临的一个非常严重的问题,最为一个合格的程序员不仅要快速完成编程任务还要保证代码的质量,所谓的质量就是程序的内部运行情况,包括程序在运行的时候内存的分配情况,程序的性能问题是最为关键的一个问题。
说到这里新霸哥来说一个真实的事情,新霸哥的一个朋友能够在一台配置很低的电脑上快速的跑出一个数据量是千万级的一个存储过程,这是什么概念,可能,可见程序的运行不要依赖系统的硬件资源,你要知道,我们的所做的工作就是要在用最少的资源来实现最大的价值,这才是我们这些程序员所要努力做的事情,其实,要做到这样的水平,并不是那么难的,只要你肯努力就能达到这样的水平的,当然这样的路还很长的。
数据分离
一个好的系统是需要做的不依赖数据,为了考虑后期的数据迁移或者更换数据库这样的操作,程序员要有这样的意识,在写代码的时候要注意和数据操作的这部分要分离开来,如果有数据库变更可以直接的修改数据操作这部分,这样就能达到改动小,减少了重复工作的可能性。当然要做到数据分离还不是一个简单的事情,需要做的事情真的很多的。一般数据的操作都是在DAO这层,对于操作SQL这部分,新霸哥一般都是建议不要把SQL写在程序中,这样如果后期sql有改动是不是要改动项目,重新编译,如果你是把SQL写在配置文件中,只需要改一个配置文件就好了,是不是很简单,程序员在写任何一个和数据库操作的时候都应该考虑这个问题的,因为只有你在不断的思考,才有进步的。
低耦合
现在的系统功能都很复杂的,如果在系统架构的时候不考虑耦合这个问题,后面的会有很多的问题的,因为你的一个简单的操作,看似很简单的,但是你会发现这个和系统的其他部分是有联系的,系统的正常运作是没有问题的,考虑到系统的后期扩展就很难了,开始设计的时候没有考虑这个问题,后面在做就要重新开始了,试想一下作为一个大型的软件,如果遇到这样的问题可能是毁灭性的打击。
高性能
代码的好坏不是简单的看你写了多少,而是代码在不同的环境中,是否能够正常的运行,对系统的物理资源是否有依赖性。有句话说的好,好的代码不是写出来的,是改出来的,说的非常好,其实只要你仔细观察你会发现你的大部分时间都是在系统的调试上,功能的实现其实不是那么的难,合格的程序员都知道,高性能是他们的追求的目标。
高移植
一个大型的应用系统可能在不同的环境中都有发布,如果才能做到这样的功能,其实很简单,就是在开发系统前,系统架构这部分要考虑的问题。程序员应该有这样的意识无论是大型项目还是小型的项目都应该用更高的要求来对待任何一个软件项目,这样你会发现后期的工作会很轻松的。
作为一个程序员不能永远都停留在写代码这个层次上,而是要对自己要求严格一点,开发任何一个系统都要考虑系统的高可用性,用高并发,严格要求自己,你会发现自己在2017年有更多的收获。如果你在学习的过程中遇到问题欢迎和新霸哥交流。
发表评论
-
后端架构师的知识体系之一基础组件
2018-11-21 22:31 259作为一个程序员,长 ... -
2016年末程序员突破自我的绝密方法分享
2016-11-07 07:43 337新霸哥一直致力于了软件开发行业,从事软件开发快五年了,时间 ... -
2016程序员自学能力的培养方法有哪些?
2016-10-25 21:28 336近期新霸哥发现有 ... -
2016杭州云栖大会新亮点在这里
2016-10-17 07:27 320云栖大会已经圆满落幕,新霸哥近期一直在关注大会的一些情况, ... -
2016年学哪个编程语言最有前途?
2016-10-10 07:22 523说起哪个编程语言 ... -
准备加入软件开发行业的朋友可以看看
2016-09-26 07:33 283最近新霸哥注意到有一些的朋友想加入到IT行业中,因为现在这 ... -
为什么现在UML很少用了
2016-09-19 07:37 336新霸哥发现UML在面 ... -
软件开发中oracle查询常用方法总结
2016-09-12 07:37 262上次新霸哥和大家讲解了一些关于oracle的知识发现大家对 ... -
新霸哥带你轻松玩转Oracle数据库
2016-09-06 23:28 418接触过软件开发的 ... -
敏捷开发是一个什么样的开发模式
2016-08-29 07:39 268在信息技术高速发 ... -
这些云计算技术你了解过哪几种
2016-08-15 07:40 341新霸哥发现目前信息量高速增长的今天,IT行业正在面临着空间 ... -
Java与云计算有什么关系呢
2016-08-08 07:37 502在如今这个信息技术高速发展的今天,云计算已经不是一个陌生的 ... -
新霸哥带你进入java的世界
2016-08-01 07:46 310新霸哥从近期大家的留言中注意到了大家对基础知识比较重视,很 ... -
分布式数据库hbase详解
2016-07-25 07:47 358新霸哥注意到了在人类随着计算机技术的发展,数据的存储量发生 ... -
SQL和NOSQL有区别吗?
2016-07-18 07:44 418在大数据高速发展的今天,数据量在不断的增加,传统的数据库可 ... -
怎么充分利用大数据寻找商机?
2016-07-11 07:33 636在大数据时代,数据量日益增加,所以展现在我们面前的就有两个 ... -
mapreduce编程模型你知道多少?
2016-07-04 07:40 317上次新霸哥给大家介绍了一些hadoop的相关知识,发现大家 ... -
hadoop是什么?
2016-06-27 23:23 281在如今这个信息高 ... -
程序员入门有年龄限制吗?
2016-06-19 23:06 848年轻的我们很幸运 ... -
云计算的发展路径和落地形态分别有几种?
2016-06-12 22:26 668说到云计算可能很 ...
相关推荐
《Java 编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对 Java 基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的 Java 编程基础。 《Agile Java》中文版是一本以...
在IT行业中,从一名程序员成功转型为架构师是许多技术人员的职业发展目标。系统架构设计程序员向架构师转型之路是一项艰巨但充满挑战的任务,涉及到技术深度、广度、沟通能力以及业务理解等多个方面。以下是对这一...
程序员应该做的事 与怎样成为一个优秀的程序员。
为您介绍程序员在编写代码过程中所要注意的地方,并可以避免不必要的错误!
本视频教程仅面向有兴趣转型向Java系统架构师,大数据系统架构师的学员,主要包括四部分内容:一、程序员VS架构师 ;二、架构设计与架构师 ;三、架构风格与架构模式 ;四、架构师转型模型 ;五、面向对象设计原则
嵌入式程序员应该知道的16个问题,面试笔试好助手。
这本书名为《程序员都知道的那点事儿!97件事儿》,由Kevlin Henney编辑,首次出版于2010年2月。该书汇集了来自众多国外软件开发领域专家的智慧和经验,包含了97条建议,旨在帮助程序员在日常工作中提升能力、避免...
2016软件开发程序员年终工作总结.doc
尽管架构师的工作更多地涉及到系统设计和决策,但成为一名好的架构师往往始于成为一名出色的程序员。编程能力是架构师的基础,因为这有助于他们深入理解技术细节,更好地评估技术选择,以及解决实际开发中遇到的问题...
未来五年程序员应该干的事,值得大家一看。
"从程序员到架构师:大数据量" 本书是为程序员和开发人员量身打造的,旨在帮助他们从程序员角色过渡到架构师角色,特别是在处理大数据量的情况下。书中详细介绍了大数据处理的基本概念、挑战、架构基本原理、设计...
### 程序员如何提升为架构师 在IT行业中,从一名普通的程序员成长为一名出色的架构师是一条漫长而充满挑战的道路。这一过程不仅需要深厚的技术积累,还需要良好的抽象思维能力和对未来技术趋势的把握。接下来,我们...
软考程序员考试属于计算机软件水平考试(简称软考)中的一个初级计算机职称考试。对于软考程序员考试并无学历及资历条件限制,更无论年龄、专业与资历。一年可报考软考程序员考试两次,但一次考试只能报考一种资格,...
Java程序员到架构师之路是一个循序渐进的学习过程,涵盖了从基础编程技能到高级系统设计与管理的广泛领域。在这一转变过程中,开发者需要不断提升自己的技术深度和广度,掌握更多的软技能,以及对业务的理解。以下是...
程序员必读之软件架构-可以辅助设计
黑马程序员Spring框架2016版资料_day3黑马程序员Spring框架2016版资料_day3黑马程序员Spring框架2016版资料_day3
《Java 编程思想》是一本让程序员知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对 Java 基本语法、基本类库有比较清楚的讲解,可以帮程序员打一个良好的 Java 编程基础。 《Agile Java》中文版是...
2010年程序员考试题,2010年程序员考试题