zoukankan      html  css  js  c++  java
  • 论 设计模式及项目架构的作用

      在公司技术架构部呆了快两年了,做了一些中间件,也做了很多项目的重构、技术升级或者code reviewe等工作,对项目的架构设计、技术运用有了一点儿的感悟,写一下算抛砖引玉。

      所有的技术的出现都是为了满足业务的需要,这是基础,在基础之上有了我们需要的合理的项目、架构、模式设计。这是为了节约成本,成本在哪体现呢?成本在于项目的开发维护成本(人工),服务器成本,宽带成本,沟通成本,运维成本等。

      如果一个项目一个节点的部署就抵得上五个节点部署的性能,那节约了成本吗?节约了,节约了成本就意味着为公司提高了效益。

      如果一个良好设计的项目,一个初中级程序员只花了一天就可以很清楚的了解项目的设计思想,知道他需要修改的代码在哪个模块儿,并且整个项目感觉条理清晰,代码整洁,那么他的效率就发生了提高,节约的是人工成本,同时也是提升了效益,可是如果反过来说,一个项目模块儿不清楚,项目杂乱无章,一个中级程序员需要三天时间才能run起来,而且不知道自己将要做的功能,代码应该写在哪,那么这个项目时间久了就成了“垃圾”,而且为公司降低了利润。

      如果一个程序员写出来的代码,性能极好,比如,单线程换成了多线程,比如socket换成了netty,同步换成了异步,轮询变成了监听,各个地方都做到了极好,原来需要20个节点才能扛起来,现在只需要五个,那么它节省的也是一大笔费用,要知道一个阿里云4核16G的机器也得3000多一年。

      可是一个程序员怎么才算是好的程序员呢?

      我认为,一个能理解简单业务需求并独立完成开发并解决简单问题的是初级。

      能搞定复杂业务需求,多模块儿开发并完成部署,建表,压测等功能的是中级。

      一个能解决疑难问题,完成95%的疑难业务的开发,或者一整个项目的开发是高级,且能对开发出来的代码保证性能,保证稳定性和扩展性、维护性,且在一定级别上保证自己写的代码为最优,不需要自己编写中间件,但对各种中间件、框架、技术的原理及特性或核心源码有一定的了解为高级。

      那架构是什么呢?有人说架构就是架构不用写代码,我想说QNMD吧,一个架构必然是由初中高一步一步上来的,如果一个所谓的架构师对语言的核心思想、特性,对各种中间件、框架、技术没有很充分的理解,甚至修改源码的能力,他怎么能够保证他能把这个中间件放置在项目合适的位置呢?那也就是说我认为一个架构,不仅要对各种中间件了如指掌,针对业务设计合适的技术样本,并且要有充分的技术把控管理能力,其次还要有自己独特的思想,自己的思想体现在项目的设计中,使项目可以预知一些将来可能出现的变化,并使项目能够很简单的适应这些变化。

      先到这儿。

  • 相关阅读:
    古谚、评论与论断、名篇与名言
    重读《西游记》
    重读《西游记》
    命名之法 —— 时间、季节、地点
    命名之法 —— 时间、季节、地点
    文言的理解 —— 古时的称谓、别称、别名
    文言的理解 —— 古时的称谓、别称、别名
    Oracle GoldenGate for Oracle 11g to PostgreSQL 9.2.4 Configuration
    瀑布 敏捷 文档
    POJ 1325 ZOJ 1364 最小覆盖点集
  • 原文地址:https://www.cnblogs.com/yidiandhappy/p/12598187.html
Copyright © 2011-2022 走看看