架构之路--实战项目记录

简介: 对我而言,如何学习“系统架构”一直是一个大难题。我把编程学习分为了三个境界: 只有一个解决方案 不止一个解决方案 最好的解决方案 当我们最开始学习编程时,只要能把问题解决掉,把功能实现出来,就沾沾自喜;如果实现的功能够华丽够出彩,就更是“拽”得不行了。

对我而言,如何学习“系统架构”一直是一个大难题。我把编程学习分为了三个境界:

  1. 只有一个解决方案
  2. 不止一个解决方案
  3. 最好的解决方案

当我们最开始学习编程时,只要能把问题解决掉,把功能实现出来,就沾沾自喜;如果实现的功能够华丽够出彩,就更是“拽”得不行了。但当我们的视野更加的开阔,我们就会慢慢发现,很多问题,其实并不有一个解决方案,这么做也行,那样做也不错,所以问题随之而来,哪一个才是最好的呢?即使只针对一个很小很具体的问题,不同的人从不同的视角出发,都会给出不同的答案,更何况“系统架构”这样一个如此复杂、如此主观的问题?所以我记得一本讲架构的书(如果知道原文出处,敬请告知!)里说过:讲架构是很难举例的,例子太简单,不足以体现架构的作用;例子太复杂,将不得不把大量的篇幅花在讲解业务逻辑上,而且当读者已经被复杂的业务搞得晕头转向之后,已经很难再集中精力理解架构的魅力了。

在我这些年的工作和学习中,我也看过几本架构方面被公认为“经典”的书籍,但自觉收获不大,可能就是基于上面的原因。“纸上得来终觉浅,绝知此事要躬行”,所以我干脆自己动手,鼓搞出几个项目再说,在实践中学习成长。目前为止,我已经开发了两个项目:

最初我曾经打算,将这个博客系列和项目进程同步,项目做到哪里,博客就写到哪里。但鉴于自己的水平有限,项目进行途中,屡次大改,所以出于对读者负责的态度,暂停了博客的发布,希望能在架构稍加稳定之后再发布博客。我想,现在应该是一个比较恰当的时机了——虽然架构还远算不上完美,但至少已经趋于稳定;而且回头来看,让我收获良多的,正是那些辗转反侧的考量、对系统“千锤百炼”的敲打、如切如磋的雕琢,而不是一个系统最终的“成品快照”。所以我想即使系统再有更新和改进,和大家一起分享其中的经验教训所思所得,也是未尝不是一件幸事——痛苦让我们深刻。

项目是我利用业务时间自行开发的,但不会只是一个玩具。我的目标是通过这个项目的运作,实现二次成功创业,所以项目会一直开发下去,我也会和。

我会开放所有的项目源代码,希望各位同学能够更积极的参与其中,因为:

  1. 我并不是专家,甚至连高手都算不上,只是一个系统架构的菜鸟(我的经历可参考:程序员30过后)。至今为止,我还没有过一个完整的项目开发经验,所以你不要相信我,我自己都不相信我自己——我还希望能从大家那里得到一些启发和帮助呢!
  2. 正如我在《我学习设计模式的一些所想所得》中所说,实践是掌握软件工程技术的最根本最重要手段。再深入浅出的技术文章都不可能像畅销书一样通俗易懂,你必须真正的深入其中,自己去思考体会,才能得到你自己的东西。
  3. 我会跟随项目的进度,一步一步的分析讲解我的思路和方案。所以,你的建议和帮助,很可能进一步的完善和优化这个项目哟!

 

目录:

 

 

 

 

 

 

 

相关文章
|
2月前
|
前端开发 JavaScript 测试技术
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
44 3
|
9天前
|
开发框架 前端开发 .NET
一个适用于 .NET 的开源整洁架构项目模板
一个适用于 .NET 的开源整洁架构项目模板
51 26
|
1天前
|
Java 网络安全 开发工具
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
通过本文,读者可以深入了解Git的核心概念和实际操作技巧,提升版本管理能力。
|
25天前
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
59 8
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
|
2月前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
236 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
|
1月前
|
弹性计算 Java 数据库
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。
|
2月前
|
消息中间件 Java Kafka
实时数仓Kappa架构:从入门到实战
【11月更文挑战第24天】随着大数据技术的不断发展,企业对实时数据处理和分析的需求日益增长。实时数仓(Real-Time Data Warehouse, RTDW)应运而生,其中Kappa架构作为一种简化的数据处理架构,通过统一的流处理框架,解决了传统Lambda架构中批处理和实时处理的复杂性。本文将深入探讨Kappa架构的历史背景、业务场景、功能点、优缺点、解决的问题以及底层原理,并详细介绍如何使用Java语言快速搭建一套实时数仓。
309 4
|
2月前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
在 Android 开发中,选择合适的架构模式对于构建中大型项目至关重要。常见的架构模式有 MVVM、MVP、MVI、Clean Architecture 和 Flux/Redux。每种模式都有其优缺点和适用场景,例如 MVVM 适用于复杂 UI 状态和频繁更新,而 Clean Architecture 适合大型项目和多平台开发。选择合适的架构应考虑项目需求、团队熟悉度和可维护性。
70 6
|
2月前
|
存储 前端开发 数据可视化
在实际项目中,如何选择使用 Flux 架构或传统的 MVC 架构
在实际项目中选择使用Flux架构或传统MVC架构时,需考虑项目复杂度、团队熟悉度和性能需求。Flux适合大型、高并发应用,MVC则适用于中小型、逻辑简单的项目。
|
2月前
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
110 4

热门文章

最新文章