DESIGN
☕ DESIGN 是架构、设计相关的教程。
🔁 项目同步维护:Github | Gitee📖 电子书阅读:Github Pages | Gitee Pages
📖 内容
系统架构
如果把软件开发工作比作是一场战争,那么系统架构无疑是战略层面的工作。众所周知,万丈高楼平地起,系统架构就像是软件的地基,如果一开始就歪了,那么代码写得再漂亮,软件也难以成功。
软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。重点是分而治之,先将大型系统抽象为各个组件或模块;然后逐一解决各组件、各模块的功能、性能问题;最后将这些组件、模块整合成对外服务的一个整体。
设计模式
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
创建型模式
- 单例模式 (Singleton Pattern)
- 简单工厂模式 (Simple Factory Pattern)
- 工厂方法模式 (Factory Method Pattern)
- 抽象工厂模式 (Abstract Factory Pattern)
- 构造者模式 (Builder Pattern)
- 原型模式 (Prototype Pattern)
结构型模式
- 适配器模式 (Adapter Pattern)
- 桥接模式 (Bridge Pattern)
- 装饰者模式 (Decorator Pattern)
- 组合模式 (Composite Pattern)
- 外观模式 (Facade Pattern)
- 享元模式 (Flyweight Pattern)
- 代理模式 (Proxy Pattern)
行为型模式
- 模板方法模式 (Template Method Pattern)
- 命令模式 (Command Pattern)
- 迭代器模式 (Iterator Pattern)
- 观察者模式 (Observer Pattern)
- 解释器模式 (Interpreter Pattern)
- 中介者模式 (Mediator Pattern)
- 职责链模式 (Chain of Responsibility Pattern)
- 备忘录模式 (Memento Pattern)
- 策略模式 (Strategy Pattern)
- 访问者模式 (Visitor Pattern)
- 状态模式 (State Pattern)
重构
改善既有代码的设计。
关键词:过长函数、过大的类、基本类型偏执、过长参数列、数据泥团、switch 声明、临时字段、被拒绝的馈赠、异曲同工的类、发散式变化、霰弹式修改、平行继承体系、过多的注释、重复代码、冗余类、纯稚的数据类、夸夸其谈未来性、依恋情结、狎昵关系、过度耦合的消息链、中间人、不完美的库类
UML
统一建模语言(英语 - Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言。UML 是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML 展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。
📚 资料
- 书籍
- 《大型网站技术架构:核心原理与案例分析》 - 浅显易懂的将解大型网站架构演进之路;简介了大型系统所面临的挑战以及核心技术点。
- 《亿级流量网站架构核心技术:跟开涛学搭建高可用高并发系统》
- 大型网站系统与 Java 中间件实践
- 企业 IT 架构转型之道:阿里巴巴中台战略思想与架构实战 - 阐述阿里巴巴中台系统发展,更多的是讲解应用场景和能力,没有讲解技术细节。
- 逆流而上:阿里巴巴技术成长之路 - 主要以运维的视角阐述系统运维中遇到的困难,定位思路以及解决方法。
- 《O'Reilly:Head First 设计模式》
- 《大话设计模式》
- 《重构——改善既有代码的设计》
- 教程
🚪 传送
你可能会感兴趣:
- Java 教程
📚 - JavaCore 教程
📚 - JavaTech 教程
📚 - Spring 教程
📚 - Spring Boot 教程
📚 - 数据库教程
📚 - 数据结构和算法教程
📚 - Linux 教程
📚 - Nginx 教程
📚

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
