当前位置: 首页 > news >正文

2024-05-29 架构-程序设计-思考

摘要:

最近在抽出时间做一个数据库的driver, 其中有些问题驱动的软件代码的思考,是很值得回味的。

做的系统,所思考的问题,所设计的解决方案,其实都是可以看作是对解决问题方式。而不仅仅是某个类库的API的使用,某个算法的实现复杂度,某个固定的设计模式,或者设计规约。

程序设计的思考:

  1. 对于技术的设计方案来说,某个业务领域的知识是一回事,比如说关系型数据库,时序类型的数据库,所要处理的业务,也就是DDD所谓的领域知识专家。
  2. 站在架构师的角度,是要从技术的角度,确保项目的成功,无论是功能性的需求,还是非功能行动需求,也就是性能需求,稳定性需求,甚至包括部署运维以及升级的需求,在不同的抽象层次的边界上,进行设计。
  3. 软件分成不同的抽象层次,在不同的抽象层次上,处理不同的问题范围。
  4. 而对于所谓的架构,从名词的角度,是一些功能点的组织方式,从动词的角度,是不同的功能的互相交互,达成一个完整的目标。但是无论是名词还是动词,都是与结构有关。
  5. 那么所要面临的是什么问题呢?从宏观的角度,是功能的分解,分解成更小的可以理解的部分,组成最小的功能单元。这个功能单元里,处理好本模块所能考虑到的所有的问题。
  6. 其实从这个角度上来说,比较适合采用思维导图的方式,而且是右向思维导图的方式,将功能层层分解,并且也将问题层层分解。
  7. 所谓的架构师,所谓的解决方案架构师,考验一个软件开发者的能力,便是他能驾驭多大的项目,保证这个项目的功能和非功能的要求。
  8. 结合业务,又从业务中抽离,要站在更高的抽象层次上做思考。抽象出通用的解决问题的思路,解决问题的办法。
http://www.lryc.cn/news/357978.html

相关文章:

  • 关于网络的基础知识
  • CTF网络安全大赛简单web题目:eval
  • Linux通过 SSH 使用 rsync 进行文件传输
  • 【保姆级介绍下Foxmail 邮箱】
  • ABAP MD04增强排除MRP元素
  • 构建一个简单的情感分析器:使用Python和spaCy
  • 数据库设计实例---学习数据库最重要的应用之一
  • 数据结构算法题day05
  • 关于《Java并发编程之线程池十八问》的补充内容
  • 扒出秦L三个槽点,我不考虑买它了
  • 【408真题】2009-28
  • LeetCode---链表
  • idea 快捷键运用
  • k8s问题
  • 串口通信问题排查总结
  • 【教学类-59-】专注力视觉训练01(圆点百数图)
  • C 语言实例 - 循环输出26个字母
  • qt多语言翻译不生效的原因
  • springboot集成达梦数据库8,用springboot+mtbatisplus查询值为空
  • C语言-----指针数组 \ 数组指针
  • Go语言 gRPC 简述
  • 信息系统项目管理师0136:工具与技术(8项目整合管理—8.9结束项目或阶段—8.9.2工具与技术)
  • appium-driver方法待整理。。
  • Android Ktor 网络请求框架
  • 交互设计如何助力传统技艺在当代复兴?
  • 使用 Django Rest Framework 构建强大的 Web API
  • 老师如何对付挑事儿的家长?
  • 若安装了Python3且没有删除Python2,那么启动yum命令会报错:
  • JVM(四)
  • Leetcode373.查找和最小的 K 对数字