架构是什么?空中楼阁?不切实际?

系统架构最佳实践 -- 业务系统的架构设计(京东云) 我们经常提到复杂系统,那么到底什么是复杂系统。我们看下维基的定义:复杂系统(英语:complex system),又称复合系统,是指由许多可能相互作用的组成成分所组成的系统。由点组成点之间有各种关联两点的规模和复杂性直接决定了系统的复杂程度。比如就拿我们的电商系统举例,分成很多部分,商品、库存、采购、订单、物流、财务,这个只是大的分类,还有针对C端的营销、会员、购买、售后等体系,针对B端的商家入驻、管理等体系。各个部分、体系之间有着千丝万缕的联系,可谓之复杂系统了。 阅读详情

架构(Architecture)是什么?可能每个人给出的答案都不同。

业界流行一句笑话:Architecture is like teenage sex, everybody talks about it,nobody really knows what it is.

当然,我也不可能给出一个关于架构的准确定义。我更愿意把架构归为哲学的范畴。架构本身其实和软件开发并无太大关系。一个国家有自己的管理体系:一个公司有自己的组织架构:一个家庭也有独特的男权或女权的特色,小到一个人;也是可以分为自我、本我和超我的。每个事物都是由一个个更小的事物组合而成的,而这些其实都与架构相关。

 

第一篇 需求与三层架构

本篇详细介绍了项目开发的前置节点——需求,并对常见的三层架构给出了分析。在第Ⅰ集中提出了面向对象的重点概念,并让大家初步认识抽象的过程。 相信很多人一定被书中大段的SQL代码搞得云里雾里。不用担心。在第3章中MOL将带领大家完成懒人的第一步——如何不写SQL代码。

第1章 故事从一个电商网站开始

1.1 需求?需求!

1.2 敏捷开发简介

  • 1.3 U——用户界面

  • 1.3.1 从UE说起

  • 1.3.2HTML 5 & css 3

  • 1.3.3微信

1.4 数据库

  • 1.4.1 PowerDesigner 设计工具

  • 1.4.2 关于SQL语句

 

第2章 为什么是三层

2.1 MOL带兄弟们去吃饭

2.2 动手写一个三层结构

  • 2.2.1 DAL 层的实现

  • 2.2.2 BLL 层的实现

  • 2.2.3 UI 层的实现

2.3 简说MVC

  • 2.3.1 纠正一下老师的说法

  • 2.3.2 MVC 的第一个程序

  • 2.3.3 为什么要用MVC 之我见

2.4 向三层代码中加入面向对象

  • 2.4.1 实例化数据库表

  • 2.4.2增加数据库操作类

  • 2.4.3 加强版的数据库操作类

2.5 小说代码管理

  • 2.5.1 什么是代码管理软件

  • 2.5.2 TFS管理软件

  • 2.5.3 SVN管理软件

  • 2.5.4 Git管理软件

2.6 小结

 

第3章 ORM 实体关系映射

3.1 说说OCP开放封闭原则

3.2 解耦第一步——接口要上位

  • 3.2.1 代码结构的前提

  • 3.2.2 创建接口层

3.3 解耦第二步——工厂模式解决new的问题

3.4 Spring.NET横空出世

  • 3.4.1 酒文化发展史

  • 3.4.2神奇的IOC

  • 3.4.3 引出 Spring.NET

3.5 我不想写SQL语句

  • 3.5.1 什么是 ORM

  • 3.5.2ORM 之iBATIS.NET

  • 3.5.3ORM之 NHibernate

  • 3.5.4ORM 之EF

  • 3.5.5懒人无敌

  • 3.5.6完成查询操作

  • 3.5.7 数据库先行、模型先行、代码先行

3.6 小结

 

由于文章字数限制,只能以图片+知识点的方式展示部分分享给大家,如需完整331页《代码架构(项目实战版)》PDF的朋友们,可以 点击此处 即可免费获取到!

 

第二篇 NoSQL和测试

NoSQL是现在比较流行的一个话题和技术.在第4章中将通过讲解MangaDB来介绍NaSQL如何使用,并且纠正大家的一个错误观念:NaSQL和ORM不能搭配使用。 第5章分享了测试的工作,并讲解了单元测试、黑盒测试、白盒测试……-让大家在收获的同时,也能理解测试工程师在工作中所要面临的一些痛苦

第4章换个数据库试试

4.1 客户总有一些非分的想法

4.2 MongoDB简介

  • 4.2.1 安装&配置.Ema.E出团a

  • 4.2.2 可视化工具

  • 4.2.3 MongoDB的基本操作

4.3 NET操作MongoDB

4.4 让NoSQL面向对象

  • 4.4.1 实体抽象

  • 4.4.2 操作抽象

4.5 NoSQL题外话

4.6 关于日志

4.6.1 为啥要写日志

4.6.2 如何写日志"

4.6.3 注意事项

4.7 小结

 

 

第5章 越俎代庖搞搞测试

5.1 简单说测试

5.2 旨烟测试

5.3 黑盒测试

5.4 单元测试

  • 5.4.1 单元测试是什么

  • 5.4.2 如何进行单元测试

  • 5.4.3 测试驱动开发

5.5 白盒测试

5.6 压力测试

5.7 其他测试

5.8 小结

 

 

 

第3篇 高精尖技术

任何一个网站项目,似乎都绕不开“缓存”这个神奇的空间。馒存用得好,可以加快系绕的反应速度。如果缓存用得不好,不仅用户体验差,还可能造彘服务器宕机。第6章就分享了如何使用缓存- 每个程序员都有一个全视的梦想,而前端又是全栈中必不可少的一部分,第7章讲解了如何使用EasyUI来搭建前端。 现在越来越多的电商网站都会做一些抢购或促销活动。当然这就使得网结不可避免地面临高并发。如何处理高并发呢?第8章将通过讲解消息队列,来说明如何应对高并发。 微信已经成了人们生活中必不可少的一部分。在2017年3月27日这一天,微信小程序也对个人用户开放了。我们如何把“詈商卡”挂到微信公众平台上。又如何开发微信小程序呢?这些问题都将在第9章中解决。

第6章 神奇的缓存

6.1 网站崩溃了

6.2 缓存是什么

6.3 微软提供了缓存

6.4 自己做缓存

6.5 第三方缓存

  • 6.5.1 MemCache缓存

  • 6.5.2 Redis 缓存

  • 6.5.3 把缓存抽象出来

  • 6.5.4 读写分离

6.6 利用模板引擎生成静态页面

  • 6.6.1 初识NVelocity

  • 6.6.2 使用NVelocity 生成静态页面

  • 6.6.3 静态页面带来的问题

6.7 CDN的加入会大大减少服务器的压力

6.8 小结

 

 

第7章 程序员眼中的前端

7.1 常见的前端框架

7.2 尝试EasyUl

  • 7.2.1 基础框架

  • 7.2.2 常用的控件

  • 7.2.3 小说权限分配

7.3 其他的前端框架

  • 7.3.1 Bootstrap框架

  • 7.3.2 jQuery UI框架

7.4 小说HTML 5

7.5 小结

 

 

第8章 人生中的第一次高并发

8.1 网站又崩溃了

8.2 从相亲说起

8.3 简述消息队列

  • 8.3.1 串行设计

  • 8.3.2 多线程设计

  • 8.3.3 消息队列设计

8.4 常见的消息队列

  • 8.4.1 MSMQ 消息队列

  • 8.4.2 RabbitMQ 消息队列

8.5 小结

 

 

第9章微信公众号

9.1 李老板出场 请大家热烈鼓掌

9.2 初探微信公众号

  • 9.2.1 申请订阅号

  • 9.2.2 小机器人

  • 9.2.3 把晋商卡挂到微信公众平台上

9.3 微信小程序

  • 9.3.1 微信小程序是什么

  • 9.3.2 写一个简单的 Demo

9.4 微服务

9.5 MongoDB 数据库

9.6大数据

9.7小结

 

 

如需完整331页PDF文档获取方式: ———————可以 点击此处 即可免费获取到!!

复杂业务系统的架构设计 本文探讨了复杂业务系统的架构设计与分析方法。首先定义了复杂系统(由多个相互作用的组件组成)和架构(系统组件的结构、关系与通信规则)。文章指出架构本质是指导性约束,可分为业务、应用、技术、数据等类型,并强调架构需兼顾功能需求和非功能需求(可靠性、扩展性等)。针对复杂系统,提出分而治之、模块化设计等原则,推荐领域驱动设计、微服务、云原生等现代架构模式。最后指出在分布式、云化趋势下,架构设计需要持续演进,以应对日益复杂的业务需求和技术挑战。 阅读详情

相关推荐

ZynqMP多核实战:如何让A53-0跑Linux,其他核裸机处理大数据(附完整配置流程)

本文详细解析了Xilinx ZynqMP多核异构计算实战,重点介绍如何配置A53-0运行Linux系统,同时让其他A53和R5核心以裸机方式处理大数据任务。内容涵盖内存划分、核间通信、Linux定制配置等关键技术,提供完整的配置流程和性能优化方案,助力开发者实现高效的多核协同开发。

weixin_30555125的博客 480

熟悉这10个顶级GitHub项目,帮你速通Python编程!

熟悉这10个顶级GitHub项目,帮你速通Python编程!

xiangxue888的博客 3839

QT编程系列1--QT学习前需知

本周学习了一些QT编程方面的知识,学写了几个程序,这里把记录下来。一方面对前面学习的知识做一个总结,便于以后复习、再学习和应用;另一方面也和大家做个交流,有不足的地方请各位看官多指点。   首先是做一些学习之前的交代:一,学习QT需要哪些基础;二,学习QT有哪些用途,QT较其他的开发工具有哪些特点;三,学习QT的思路。

霜月孤鸟&RTEMS&TinyOS 1117

面试代码题合集

1.笔试中的题每一道题都加以说明解释下,面试官手里有咱们的笔试题,如果笔试答的有问题,最好出来后找下正确答案,面试时可能会问相关的问题.4.编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。懒汉式在于实例的延时加载,会有多线程安全问题,需要用加同步的方式解决,但这种加锁会导致低效,用双重if的。41,从一个文本文件中读取获得字符串,统计该字符串中各个字符出现的次数,按照自然排序的方式打印。42,请说明字符流和字节流的区别在哪儿?

zzjlhlcd的博客 877

从亚稳态到稳定传输:深入解析CDC跨时钟域同步的核心技术与设计实践

本文深入解析了CDC(跨时钟域同步)技术的核心问题与解决方案,重点探讨了亚稳态现象及其危害,详细介绍了同步器设计、MTBF计算方法以及单bit和多bit信号同步的实战技巧。通过Verilog代码示例和工程实践案例,帮助读者掌握从亚稳态到稳定传输的关键技术,提升数字电路设计的可靠性。

weixin_32822843的博客 247

uniapp [全端兼容] - 最新详细实现拍摄视频录像并可播放预览视频,调起本机摄像头开启录像录制完毕后保存到本机临时存放,可对拍摄的视频进行压缩处理减少文件大小不损失画质,详解录制视频并读取播放!

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,录视频,拍视频,拍摄录制视频后上传服务器,调起摄像头录视频并可预览,录视频上传,录像,uniapp录制视频并上传,录制视频并保存到本地设备,如何本地保存并播放预览,提供给用户观看MP4视频录像并上传到后端服务器完整功能源码,视频压缩,mp4文件,删除视频,录像后怎么预览,临时视频文件怎么减少压缩大小,视频压缩及上传,自己录视频并生成可播放的文件,录视频并能打开查看,视频压缩后上传,本机相册,录完怎么预

🏆 前端领域优质创作者 1万+

【代码实战】精品面试题14道

减数的下标不小于减数的下标。即求出: maxValue = max{arr[j]-arr[i] and j >= i}?

ADbyCool的博客 1178

081、LLC谐振变换器的短路特性与保护

本文深入分析了LLC谐振变换器在短路工况下的特性与保护策略。作者通过实际案例指出,LLC在输出短路时会出现谐振电流失控、ZVS条件丧失等危险现象,导致MOS管炸毁。文章详细阐述了短路保护的三大难点:响应速度、频率与电流的耦合、重启策略,并提出了硬件级快速保护、频率快速拉升、打嗝模式等实用解决方案。作者分享了关键参数设计经验,包括电流检测阈值设置、最高频率限制和保护响应时间控制,并通过实测波形验证了保护效果。最后总结出五点重要经验,强调硬件保护的必要性和系统设计的注意事项,为LLC变换器的短路保护设计提供了有

Jack010169的博客 76

Github实践项目推荐

这是一个简单的 Todo 应用,实现了大量的前端框架,包括 React、Vue、Angular 等,可以让你快速学习这些框架的用法。这些项目提供了不同的学习路径和深度,可以帮助你学习编程语言、Web 框架、机器学习和计算机视觉等方面的知识。:这是一个 OpenCV-Python 的教程项目,包含了多个计算机视觉的示例代码,适合学习计算机视觉。:这是一个 PyTorch 的教程项目,包括了多个深度学习的示例代码,适合学习深度学习。

weixin_43425950的博客 568

用 SAP XCO XLSX 模块优雅读 Excel:坐标、选择模式与实战案例全解析

SAP ABAP Cloud 中的 XCO XLSX 模块为 Excel 文件处理提供了官方解决方案。文章介绍了三个核心概念:通过 XCO_CP_XLSX=>DOCUMENT 获取文档句柄;使用 CL_XCO_XLSX_COORDINATE 坐标系统定位单元格;利用 Selection Pattern 精确读取数据区域。这些功能在 RAP 批量导入等业务场景中尤为实用,相比传统方案更加简洁可靠。文章还分享了真实项目中的最佳实践,如动态列定位和相对偏移技巧,帮助开发者构建更健壮的 Excel 导入逻辑。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 193

基于simulink的能量管理策略的场景实例:混合动力电动汽车(HEV)的能量回收与分配策略

本文以混合动力电动汽车(HEV)为研究对象,通过Simulink建模详细演示了能量管理策略的设计与实现。内容涵盖HEV系统架构、核心组件工作原理,并分步骤指导搭建车辆动力学模型、动力系统组件模型和基于规则的能量管理策略。重点分析了制动能量回收与功率分配机制,通过仿真验证了逻辑门限策略在提升燃油经济性和维持电池SOC平衡方面的有效性。文章最后展望了更高级控制策略的应用前景,为HEV能量优化提供了完整的仿真研究框架。

xiaoheshang_123的博客 213

2023年1000个优秀Github项目盘点

Github犹如一座繁星点点的灯塔,照亮了无数优秀的开源项目。最近,我有幸盘点了一千个Github上的优秀项目,从繁杂的代码库中探索出了那些璀璨的明珠。今天,我想与你们分享这份发现,让我们一起走进这个充满创意与智慧的世界。这一千个项目涵盖了各种各样的领域,包括但不限于人工智能、机器学习、Web开发、移动应用开发、游戏开发、数据科学等。这些项目不仅有着极高的技术含量,而且在创新性、实用性、易用性等方面也表现出了令人惊叹的品质。其中,一些项目致力于解决现实生活中的问题,如开发一款能够帮助残障人士更好地生活的人工

Lee达森的博客 7352

多思计组实验实验三、存储器读写实验

实验三、存储器读写实验

qq_53089329的博客 3653

复杂业务系统的通用架构设计

复杂业务系统的通用架构设计

weixin_46619605的博客 832

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

高级进阶:复杂业务系统的通用架构设计

结合着业务系统的复杂性,如果想要系统未来具有长期价值,不得不把大的系统进行拆分,用统一的业务语言进行描述,把不可识别的问题,拆分成可识别的问题域进行解决,这也就是现在又逐渐盛行起来的领域驱动设计的方法。应用如何进行设计,包括模块如何划分,功能如何实现,技术如何支撑,数据如何展示,流程如何定义,逻辑如何实现,数据如何存储等等,都是应用架构的范畴。架构的本质依然没有改变,只是由于社会的发展,我们的需求,需要处理的问题、依赖愈来愈复杂,我们需要用发展的眼光,时刻追随技术前沿,进而推进、优化、迭代系统的架构设计。

m0_73735578的博客 999

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

面对复杂业务系统,通用架构设计法则

hello,大家好,我是张张,「架构精进之路」公号作者。一、什么是复杂系统我们经常提到复杂系统,那么到底什么是复杂系统。我们看下维基的定义:复杂系统(英语:complex system),又称复合系统,是指由许多可能相互作用的组成成分所组成的系统。强调了两点:由点组成点之间有各种关联两点的规模和复杂性直接决定了系统的复杂程度。比如就拿我们的电商系统举例,分成很多部分,商品、库存、采购、订单、物流、...

架构精进之路 975

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

复杂业务系统的通用架构设计法则

生活中我们经常谈及 “架构”,那么到底什么是 “架构”:Robert C.Martin《架构整洁之道》中的定义:软件架构是指设计软件的人为软件赋予的形状,这个形状是指系统如何被划分为组件 (Components),各个组件如何排列(Arrangement),组件之间如何沟通(Communication,通讯)有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计IEEE 的定义:架构 = 组成单元的结构 + 组成单元的关系 + 原则和指南整体:强调部分的组成,强调合力。

summer_fish的专栏 683

浅谈复杂业务系统的架构设计

什么是复杂系统我们经常提到复杂系统,那么到底什么是复杂系统。我们看下维基的定义:复杂系统(英语:complex system),又称复合系统,是指由许多可能相互作用的组成成分所组成的系统。强调了两点:由点组成点之间有各种关联两点的规模和复杂性直接决定了系统的复杂程度。比如就拿我们的电商系统举例,分成很多部分,商品、库存、采购、订单、物流、财务,这个只是大的分类,还有针对C端的营销、会员、购买、售后...

weixin_45727359的博客 216

浅谈复杂业务系统的架构设计 | 京东云技术团队

复杂系统的架构设计不是一蹴而就的,合适的才是正确的。希望本文能够对您在进行复杂系统设计时有一定的参考意义。

JDDTechTalk的博客 625
上一篇: 阿里巴巴P8自爆:Java八大核心思维导图知识梳理
下一篇: 大厂万年不变的面试题:如何实现百万的秒杀系统!
Java斗帝之路
博客等级 码龄7年 2392粉丝 687原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值