一、什么是好的架构?
软件设计犹如作文,古人作文,讲究立意为先。
意,即为高度。首先,站在架构的角度去设计,先画出来一个框架图,反复推敲,就像建筑设计师一样,先有一个抽象的大厦设计图,不断的优化,然后把按照图纸一步步实现,实现的过程无需太多的脑力。
什么是好的架构呢?应该具备以下特征:
1.可复用性;
2.业务逻辑在服务层规划;
3.剥离硬件,建立抽象层;
4.规范的命名及接口设计;
5.功能分层,单向调度;
6.log打印系统化;
7.用于团队技术培训或练兵。
二、架构的迭代
软件架构并非一层不变的,随着业务和需求的变化,架构也需要适当的调整,一个好的架构要不断的迭代、优化、重构。
嵌入式软件因为直接驱动硬件,设计架构时,无论多么复杂的产品,首先,第一步要做的就是剥离架构,解耦合,因为硬件都有可能会变化,把硬件完全剥离出去,才能最低限度的去修改软件。一旦使用耦合架构,几轮迭代之后,注定会走向屎山,直到大厦倾倒,推倒重来。