zoukankan      html  css  js  c++  java
  • .NET架构小技巧(6)——什么是好的架构

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

     

       古时候谈婚论嫁,讲究“门当户对”,新时代是不接受这种“封建思想”的,如果我们把“门当户对”的意思,理解的更宽泛点,可能情况就不一样了,门当户对,不仅仅从经济,名誉上来理解,扩展到三观(世界观,人生观,价值观)上,是不是两个人,或两家人三观一致的话,是不是觉得就有道理了,有点哲学的意思了。言归正传,说架构。
      相信有很多人遇到这样的用户,给我做个淘宝吧,或给我做个美团外卖吧,更多的是我要做个XX项目,和某某(大厂应用的名字)一样,这个时候,一般情况下大家都是心里在笑,笑什么呢?笑的人都心里清楚的很。对非行业里的人来说,难免。对于行业里的人来说,首先要了解做什么项目,为谁做项目,用户量是多少,访问量是多少,再就是项目预算是多少,工期是多长时间等等问题。要充分了解项目或系统的信息,其实这些信息都是对架构有影响的。接下来分成两方面来看

    • 外部——客户
    1. 客户要解决什么问题客户系统的行业很关键,系统是偏计量统计,还是工作流程,还是费用相关,每个行业对软件的要求都不尽相同,难做的与钱打交道的软件,和容错率低的软件,对对开发者有更高,更严格的要求。
    2. 使用系统有多少用户同时使用的用户数,这个是引导架构技术设计的主要因素。
    3. 开发工期有多少时间时间有时会改变我们的架构的,有可能时间短,只能选最熟悉的架构,而不是最合适的架构,
    4. 客户有多少预算开发这个更敏感了,这决定投入的人,时间,精力,最简单的,预算如果不充足,可能连架构师都不一样了,选一些能力,经验相对少的人来操刀。
    • 内部——开发
    1. 技术人员可调度的技术人员有多少,他们的专长技术是否满足你的架构,能否保证完整的在这项目的生命周期内。
    2. 系统需求交付概要情况需求是否明确;交付是一次交付,还是边开发边交付
    3. 系统适合什么技术实现宏观上要大体上有这个项目实现是什么架构:C/S,B/S,单体,微服务,前台应用,后台服务等

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

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

     

      想要更快更方便的了解相关知识,可以关注微信公众号 
     

     

     

  • 相关阅读:
    markdown 常用语法
    markdown 转 pdf 方法
    git call failed: [git clone Could not resolve host: git.openstack.org
    从VirtualBox虚拟主机访问NAT客户机的方法
    MVC,MVP 和 MVVM 的图示
    url转义
    Python如何输出包含在对象中的中文字符?
    OpenGL
    AutoHotKey使用:空格键坏了怎么办?
    三联书社推荐好书100本
  • 原文地址:https://www.cnblogs.com/ljknlb/p/15854785.html
Copyright © 2011-2022 走看看