导语:软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构建的描述、构建的相互作用(连接件)、指导构建集成的模式以及这些模式的约束组成。 软件架构不仅制定了系统的组织结构和拓扑结构,并且显示了系统需求和构件之间的对应关系,提供了一些设计决策的基本原理。
1,软件架构风格
软件架构设计的一个核心问题是能否达到架构级的软件复用,这种可复用的共性,形成了软件架构的特定风格,有以下五种。
1)数据流风格
2)调用/返回风格
3)独立构件风格
4)虚拟机风格
5)仓库风格
2,软件架构的分类
① 逻辑架构
逻辑架构关注的是功能,包含用户直接可见的功能,还有系统中隐含的功能。或者更加通俗来描述,逻辑架构更偏向我们日常所理解的“分层”,把一个项目分为“表示层、业务逻辑层、数据访问层”这样经典的“三层架构”。
②开发架构
开发架构则更关注程序包,不仅仅是我们自己写的程序,还包括应用程序依赖的SDK、第三方类库、中间价等。尤其是像目前主流的Java、.NET等依靠虚拟机的语言和平台,以及主流的基于数据库的应用,都会比较关注。和逻辑架构有紧密的关联。
③运行架构
顾名思义,更关注的是应用程序运行中可能出现的一些问题。例如并发带来的问题,比较常见的“线程同步”问题、死锁问题、对象创建和销毁(生命周期管理)问题等等。开发架构&