首先声明,可能本篇文章的含金量配不上这个标题,因为说起架构,可能大家都比较关注高大上的架构,比如分布式的,高并发的,低耦合的,易扩展的等等,本篇可能使你失望了,因为这些全没有,这篇博客的中心思想是——适合的架构,就是好的架构

古时候谈婚论嫁,讲究“门当户对”,新时代是不接受这种“封建思想”的,如果我们把“门当户对”的意思,理解的更宽泛点,可能情况就不一样了,门当户对,不仅仅从经济,名誉上来理解,扩展到三观(世界观,人生观,价值观)上,是不是两个人,或两家人三观一致的话,是不是觉得就有道理了,有点哲学的意思了。言归正传,说架构。

相信有很多人遇到这样的用户,给我做个淘宝吧,或给我做个美团外卖吧,更多的是我要做个XX项目,和某某(大厂应用的名字)一样,这个时候,一般情况下大家都是心里在笑,笑什么呢?笑的人都心里清楚的很。对非行业里的人来说,难免。对于行业里的人来说,首先要了解做什么项目,为谁做项目,用户量是多少,访问量是多少,再就是项目预算是多少,工期是多长时间等等问题。要充分了解项目或系统的信息,其实这些信息都是对架构有影响的。

接下来分成两方面来看

  • 外部——客户

  1. 客户要解决什么问题

    客户系统的行业很关键,系统是偏计量统计,还是工作流程,还是费用相关,每个行业对软件的要求都不尽相同,难做的与钱打交道的软件,和容错率低的软件,对对开发者有更高,更严格的要求。

  2. 使用系统有多少用户

    同时使用的用户数,这个是引导架构技术设计的主要因素。

  3. 开发工期有多少时间

    时间有时会改变我们的架构的,有可能时间短,只能选最熟悉的架构,而不是最合适的架构,

  4. 客户有多少预算开发

    这个更敏感了,这决定投入的人,时间,精力,最简单的,预算如果不充足,可能连架构师都不一样了,选一些能力,经验相对少的人来操刀。

  • 内部——开发

  1. 技术人员

    可调度的技术人员有多少,他们的专长技术是否满足你的架构,能否保证完整的在这项目的生命周期内。

  2. 系统需求交付概要情况

    需求是否明确;交付是一次交付,还是边开发边交付

  3. 系统适合什么技术实现

    宏观上要大体上有这个项目实现是什么架构:C/S,B/S,单体,微服务,前台应用,后台服务等

项目越大,影响架构的因素越多,这里只随想了几个方面,不足以覆盖全部场景,更适合的小项目,小团队参考,毕竟小项目的数量要远远大于大项目,同时小项目的质量,架构合适性要劣于大项目(可能关键在预算上吧)。

对于一个模块,一个项目,一个系统,要做到适合的架构,不仅要考虑技术,交付工期,还要客户资源,预期等方面,这样才能做出一个双方都共赢的产品,皆大欢喜。

.NET架构小技巧(6)——什么是好的架构相关推荐

  1. .NET架构小技巧(5)——反射,架构人员法宝III

    通过两篇博文,我们了解到,反射是通过非实例化(new)的手段来对对象和对象内的成员访问的,不仅仅如此,反射还可以突破访问修饰符的限制,以上帝视角来窥探对象内部全部成员(字段,属性,方法),包括priv ...

  2. .NET架构小技巧(4)——反射,架构人员法宝II

    上一篇博文中,利用属性反射的特点,用两个方法完成了字符转实体,实体转字符的工作,但有些复杂的场景,上面方法就没那么好用了,就需要更复杂的方式来组装处理. 先来看一个接口文档,下面是接口的调用方式 lo ...

  3. .NET架构小技巧(7)——做好小的项目

    一屋不扫,何以扫天下.再说也没有那么多天下(大系统)可扫,更多的是一个个自己居住的小屋(手边的小项目,子模块),所以认真的开始扫自己的小屋. 在visual studio中,解决方案(Solution ...

  4. .NET架构小技巧(8)——优待异常

    天有不测风云,人有旦夕祸福,程序呢--会有异常错误. C#中用try,catch,finally来捕捉处理异常,捕捉谁的异常呢?一般都是系统类库或三方类库中抛出的异常,那如果我自己架构程序,异常也是要 ...

  5. .NET架构小技巧(2)——访问修饰符正确姿势

    在C#中,访问修饰符是使用频率很高的一组关键字,一共四个单词六个组合:public,internal,protected internal,protected,private protected,pr ...

  6. 酸爽! Intellij IDEA 神器居然还藏着这些实用小技巧 !

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:Sam哥哥 blog.csdn.net/linson ...

  7. 10个重构小技巧,去掉代码中的S味

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源 | https://urlify.cn/yme6Vz 本次我 ...

  8. 提升Kaggle模型的实用小技巧!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 译者:张峰,Datawhale成员 如果你最近刚入手Kaggle,或者你 ...

  9. 学计算机excel就很好吗,零基础学习excel小技巧

    零基础转行IT?如今IT行业如日中天,发展态势非常好,可谓是朝阳产业.因此,越来越多的人想进入IT行业,但苦于对it不了解,零基础不知IT深浅,那今天就和大家分享一下,零基础转行it该选择什么方向? ...

最新文章

  1. sqlserver 与 mysql 联合更新两个表 区别
  2. JFET直耦级联放大电路:MPF102,2SK102
  3. 全球及中国教育行业投资动态与发展决策建议报告2022版
  4. oracle 控制文件冗余,Oracle 添加冗余控制文件 for RAC On Linux
  5. 摄影测量--空间距离交会
  6. vba while 结束_Python | 教材纰漏,出现while的无限循环错误
  7. Java read failed_android-获取java.io.IOException:读取失败,套接...
  8. php 多选按钮,单选和多选按钮如何给图片加样式
  9. 关于Kindle的生词提示功能不显示
  10. 打官司除了找律师,还能找谁?
  11. 初级C语言之【操作符】
  12. 移动端浏览器隐私模式/无痕模式使用本地存储localStorage/sessionStorage的问题
  13. 西门子S7-1200介绍和编程及博图软件的安装使用
  14. 龙芯3a5000相当于英特尔什么水平
  15. 石墨烯/PEDOT 水凝胶
  16. python图像处理(十)——图像仿射变换、图像透视变换和图像校正
  17. Linux之ubuntu基本命令
  18. CAD电气制图:CAD软件中设备布置技巧
  19. mysql按照省市给表分区_表分区-partition
  20. 3D结构光和ToF相关资料

热门文章

  1. org.eclipse.jdt.internal.compiler包下的类找不到
  2. html 基础之canvas 和 localStorage
  3. word-vba-microsoft(中英文)
  4. Android深度探索(卷1)HAL与驱动开发第六章总结
  5. Careercup - Google面试题 - 4877486110277632
  6. AsyncHttpClient的连接池使用逻辑
  7. System.getProperty()参数
  8. pl/sql 中关于exception的学习笔记
  9. Mac OS使用技巧之三:发射无线网络信号的方法
  10. c#写字板实现加粗功能_Windows 7中写字板和绘画中的新功能