架构师之路->架构师思维的培养
公司的CMS(综合赋码管理系统)是WINFORM的CS架构。这套系统的架构师换了3届,到现在已经几年没有架构师了。本来入职时,岗位目标就是这个“自动化架构师”。
后来和领导达成共识先争取成为储备架构师,因为架构首先是为业务服务的,而工控行业有许多特别的地方,不是普通的软件技术堆叠就能做出优秀的工控软件的。原来以为已经有十多年经验了,CS没有啥搞头了。实际上最近近半年的学习,发现真的是需要活到老学到老;不要轻易以为小领域就容易成为专家,其实是经常遇到瓶颈的。拿自己来说十几年做了无数项目,未必每次技术都能提升。该趟的坑一个不会少,常常感受到广度有但是深度不够。入行这么久,也没有拿得出手的产品。这就是表面上有资历做架构师了,但是不能胜任这个岗位的原因。
好吧,经常自省应该是个好习惯。看了很长一段时间腾讯公开课,看软谋教育Eleven老师的架构师特训课程好几个月了。真真感觉老师讲的不错。一直不好意思,没有参加付费课程。看了那么多视频,回想曾经的项目发现认真架构设计的项目几乎没有,还包含自己折腾过好几回的半拉子工程也是一样的。看来架构师养成实在不容易。今天分享一下最近几个月的一些架构学习心得。
不想花太多时间去画图先凑合着看看吧。我以为架构师的思维先是要坚持面向对象设计,遵循面向对象的基本原则。在看原架构的过程中,这个体会越来越深刻。上图第一点写得有问题,使用接口首先是需要使用接口的隔离特性,是满足的接口隔离原则。拿我们行业的一个场景来说吧,工业打印机有激光机、喷码机、工业条码打印机等,有很多厂商、型号;协议各不相同;但是打印的业务操作几乎都是一样的。所以对于这件事我们项目里是这样设计的:
1、IPrinter 定义了打印机的公有属性,比如驱动类型,端口参数等;相同的行为,动作,事件,比如打开、关闭、WriteData、打印完成...。
2、定义一个抽象的打印机类,继承IPrinter。面向抽象设计,是为了消除大量重复代码,实现继承和封装的思想。大家都知道抽象类是abstract 修饰的类,主要是定义一些虚方法和模板方法。虚方法是具体的默认实现,模板方法仅仅是一个方法的声明,是之类必须要实现的方法。这样在抽象类内部可以显式的调用这个方法,然后把主要的业务流程给贯穿。
3、具体的驱动类
作者:数据酷软件
出处:https://www.cnblogs.com/datacool/p/datacool_2017_note.html
关于作者:20年编程从业经验,持续关注MES/ERP/POS/WMS/工业自动化
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明。
联系方式: qq:71008973;wx:6857740733
基于人脸识别的考勤系统 地址: https://gitee.com/afeng124/viewface_attendance_ext
自己开发安卓应用框架 地址: https://gitee.com/afeng124/android-app-frame
WPOS(warehouse+pos) 后台演示地址: http://47.239.106.75:8080/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构