如何设计一个系统
第一步:描述使用场景,约束和假设(推荐学习:PHP视频教程)
把所有需要的东西聚集在一起,审视问题。不停的提问,以至于我们可以明确使用场景和约束。讨论假设。
谁会使用它?
他们会怎样使用它?
有多少用户?
系统的作用是什么?
系统的输入输出分别是什么?
我们希望处理多少数据?
我们希望的读写比率?
第二步:创造一个高层级的设计
使用所有重要的组件来描绘出一个高层级的设计
画出主要的组件和连接
证明你的想法
第三步:设计核心组件
对每一个核心组件进行详细深入的分析。举例来说,如果你被问到设计一个 url 缩写服务,开始讨论:
生成并储存一个完整 url 的 hash
MD5 和 Base62
Hash 碰撞
SQL 还是 NoSQL
数据库模型
将一个 hashed url 翻译成完整的 url
数据库查找
API 和面向对象设计
第四步:度量设计
确认和处理瓶颈以及一些限制。
举例来说就是你需要下面的这些来完成拓展性的议题吗?
负载均衡
水平拓展
缓存
数据库分片
论述可能的解决办法和代价。每件事情需要取舍。
可以使用可拓展系统的设计原则来处理瓶颈。
预估计算量
你或许会被要求通过手算进行一些估算。
涉及到的附录涉及到的是下面的这些资源:
使用预估计算量
2 的次方表
每个程序员都应该知道的延迟数
更多PHP相关技术文章,请访问PHP图文教程栏目进行学习!
Atas ialah kandungan terperinci 如何设计系统. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Dreamweaver CS6
Alat pembangunan web visual