软件开发方法新进展
面向方面的方法
面向方面方法作为面向对象方法的一个有序补充,将相关属性统一为横切关注点进行理解与整理,并将其抽象为**“方面”(Aspect)**这里概念,从而可以一体化的设计与实现,大大增加了代码的可理解性与可维护能力。
面向方面的程序设计(Aspect Oriented Programming,AOP)
AOP把系统关注点分为核心关注点和横切关注点两类。
- 核心关注点:主要业务逻辑和流程
- 横切关注点:分布在各核心关注点内的共享关注点,如日志、安全。
AspectJ 是目前使用最为广泛的AOP语言。
软件复用与构建化方法
软件复用是指重复使用已有软件的构件。
- 基于构件的软件开发和复用
- 基于开源软件的软件开发和复用
- 知识驱动的软件开发和复用
服务化方法
软件服务
软件服务,是指将软件的功能以服务的形式通过互联网来交付。
服务化方法的主要角色和开发过程
基于服务的软件开发包含3类主要角色:
- 服务提供者
- 服务使用者
- 服务代理
微服务
微服务是一种基于一组独立部署运行的小型服务来构建应用的方法。
与传统面向服务体系的SOA应用相比,微服务有以下特点:
- 主要围绕应用系统业务能力构建
- 采用尽量去中心化的机制管理
- 使用不同技术栈开发
- 通过轻量级通信机制交互