个人对架构设计理解

简介:
今天的文章不涉及到代码方面的东西,只是说说思想方面的东西,当然,我说的这些其实很简单,毕竟我也只是做了2年的程序而已,但未必每个团队都是这么做的。
  
  首先就是如何分层,分几层。很多情况下,三层架构是最常用的思想。的确,数据库访问,业务,页面。
  
  但有了服务,接口,对象的概念以后,很多人并不只是简单的在三层上实现。当然视项目大小而言,如果是个小功能,把所有代码也一个页面上也未必不可。
  
  分层的优势就是在于提高可维护性。
  
  我认为一个完善的架构,我不得不说的就是规范性的东西,我认为规范是个很重要的东西,当然,规范不只是说大家统一用某种形式命名变量,方法等等,这只是对程序员而言的规范,如果这个划做横向规范的话,那么纵向规范就是面对客户的规范。对程序员的规范,我不想多说了,注释,变量,方法,文档。当然未必每个人都做到了这些。我想说的是对客户的规范问题。
  
  对客户的规范有很多中,比如小细节CS系统中的Anchor怎么设置,Dock怎么设置,如何让页面看起来更加让用户舒心,如何做焦点设置。大到如何给客户做培训,如何防止用户看到不友好页面,如何简化用户操作等等,这些都是属于规范性范畴。对于焦点设置,我有深刻体会,前段时间找工作,某网站输入搜索条件以后,按钮回车老是达不到焦点上去,非要我去移下鼠标点击,很不爽。
  
  第二点,对于一个完善的架构,日志处理机制是必须做好的,日志处理不只是简单的说输出完成这么简单。首先,必须要通过配置控制在什么时候输出,在什么地方输出,如何输出,怎么记录,是记录数据库还是日志文件中。如何灵活让用户控制日志输出方式。
  
  第三点,对于一个完善的架构,异常处理机制也是一个重点。异常怎么处理,如何记录,是记录到系统中,还是异常文件,还是数据库异常表,或者发给技术部邮件等等,如何做异常记录,在产生异常以后更容易让用户,技术人员看到异常产生的原因,这个是一个比较重要的模块。
  
  第四点,对于一个完善的架构,配置文件是必须的,有些项目只是简单的对web.confg里加些配置,我认为这根本不够完善,对于配置而言,有很多需要配置的内容,比如系统连接哪种数据库,客户信息,再比如是否记录日志,异常等,是否允许用户注册等等灵活功能的控制完全可以在配置中实现。
  
  第五点,对于一个完善的架构,如何做好权限是很重要的一块内容,比如权限如何控制,怎么处理用户,组,模块,部门等等之间的关系,工作流如何做,如何让权限与工作流做良好匹配,比如某审批人员出差了,如何处理其审批流程等等,虽然这点,我自己也在不断研究,但我想这一块非常重要。
  
  第六点,对于一个完善的架构,流水号生成功能也相当重要,任何一种系统,不管是信息管理系统还是电子商务平台,一定都会要求按一定格式生成某套流水号,流水号也必须有灵活性,这点非常重要。
  
  第七点,对于一个完善的架构,必须要有代码生成功能,比如基础业务类生成,实体类生成,最好可以控制数据库主外键关系等等,这样能减少程序员的很多无趣的工作量。
  

  这是我目前总结的几个重要点,另外当然包括多语言,多皮肤等等,我想这些目前来说还未必非常重要。



本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2010/12/25/1916927.html,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
5月前
|
缓存 架构师 安全
架构篇:什么才是真正的架构设计?
特别特别厉害的一篇文章,今天无意中看到的,转载至CSDN的大佬hguisu的:blog.csdn.net/hguisu/article/details/78258430,谈到了作者对于架构的理解,我看完是真的受益匪浅。
|
3月前
|
敏捷开发 弹性计算 架构师
浅谈微服务架构下的数据库设计与实践
在当今快速发展的软件工程领域,微服务架构因其高度的模块化和灵活性而受到广泛欢迎。然而,随之而来的是对数据库设计和管理提出了新的挑战。本文将探讨在微服务架构下,如何有效地设计和实践数据库以支持服务的独立性、数据的一致性和系统的扩展性。我们将从微服务的数据库隔离策略谈起,深入分析数据库的分库分表、事务管理、数据一致性解决方案等关键技术,并通过实例说明如何在实际项目中应用这些原则和技术。本文旨在为软件开发者和架构师提供一份指南,帮助他们在微服务架构的环境下,更好地进行数据库设计和管理。
210 1
|
7月前
|
持续交付
架构设计小记
架构设计小记
19 0
|
7月前
|
存储 负载均衡 算法
【系统架构】分布式系统架构设计
【系统架构】分布式系统架构设计
349 0
|
7月前
|
缓存 算法 NoSQL
架构设计第一讲:架构设计相关面试题汇总
架构设计第一讲:架构设计相关面试题汇总
190 0
|
10月前
|
缓存 开发框架 前端开发
|
11月前
|
运维 架构师 数据可视化
架构设计方法论
架构设计方法论
266 0
|
12月前
|
算法
【系统架构】系统架构因何而来
【系统架构】系统架构因何而来
57 0
|
设计模式 弹性计算 运维
|
设计模式 架构师 搜索推荐
架构设计30-架构模式01-介绍
架构设计30-架构模式01-介绍
146 0
架构设计30-架构模式01-介绍