一些笔记 构件化软件开发

 

设计重用的几种形式:
1。一致性的共享:编程语言和脚本语言 语言及其实现可以保证静态的安全性(C/C++中的指针-->Java/C#自动内存管理)
2.具体解决方法的共享:库  更好的利用被证明正确的已有解决方案:引入库或工具箱。
3.契约的共享:接口  保证完全独立的服务供应者和服务客户正确进行交互。
4.单个交互片段的共享:消息和协议  消息是有方向的:(收集消息,多播或广播消息)而协议注重端点之间交换消息的合法顺序而不是被需要和提供的操作。
   总可以把协议定义重写成一个建立在一组精确定义的接口之上的组合合约。一组接口可以对应协议
   采用消息还是协议:
     传统:消息和协议 有些 使用操作和接口
     重点:协议关注终点之间传递消息,而接口关注终点处接收和返回消息的操作。
     同步和异步通信模式:用消息和协议描述异步通信更加自然;用接口和操作描述同步通信更合适。(接口之上的异步操作也可被定义,同步限制也可加入协议)
5.交互结构的共享:模式
     模式的定义:模式的名字;模式解决的问题(应用模式必须满足的条件);模式提出的解决问题的方法(1.模式包含的元素,元素的角色、责任、关系和合作
     2.一个涉及具体实现细节不多的设计或实现方案);应用模式以后的效果(结果和权衡):时间和空间;语言和实现问题;对灵活性、可扩展性、可移植性。
     设计模式是微型体系结构描述了合作解决一个问题在对象之间进行的抽象交互。

 设计模式比框架更抽象更一般化:框架是子系统的部分实现,而模式没有直接实现,在实现中只能找到模式的实例。
 设计模式是比框架规模更小的结构元素:大部分框架都使用了多个模式。
 设计模式与接口正交:接口规定和标准化对一个逻辑供应者的部分视角,对一组开放的客户通常是可见的。
 设计模式与消息模式正交:消息模式规定了在各个实体之间的逻辑上的通信通道。
 设计模式规定了一个结构,并分离出对交互的一个关注点。

6.子系统体系结构的共享:框架  MVC框架可分割为三个最主要的模式应用:观察者,组合和策略模式;还包括工厂方法和装饰模式等。
 框架设计可以自底向上,模式驱动; 也可以自顶向下,目标驱动。

7.总体系结构的共享:系统体系结构 
基本原则:分层,非常严格;分级或网状

8.由子系统组成的系统:框架级别。
模式是微型体系结构,框架是子系统体系结构,总的系统体系结构目标:容易理解,维护,演化和更经济。

9.互操作性,遗产和再工程。

现代编程语言最主要的抽象化 结构化和组装化形式:
静态类型系统,包括高级机制如:参数多态性和有界多态性;
函数,高级函数和功能化组装
闭包或块
延迟绑定
程序抽象
异常和异常捕捉
类及实现继承
动态类型系统,包含多态性(子类型化)
支持开放的对象空间(需要自动的内存管理)
后期绑定和类型驱动的分派
支持并发和同步
元编程机制和反射机制
模块和包系统。


适合不同开发者的编程方法:
1.高层编程活动:
需求工程、工作流工程和协调、可视化应用程序构造和构件组装、脚本编写(shell或批处理命令等)
关键:考虑相应的编程模型。

需求工程:应用领域实体及表达实体直接的关系和随时间发生的变换方法。与编程的关键区别:需求工程不考虑性能或不考虑可执行规约的资源消耗,规约的执行只是用作校验工具。
工作流工程:捕获按照业务过程定义的任务和相关工作项目的流程,并将该流程映射为可描述的形式。通过与一个合成服务器结合,该工作流描述可以被执行并用来协调业务过程。实际上是协调人和信息系统按照业务过程所作的工作的集成。
可视化的应用构造:基于预制构件的即插即用编程模型。
脚本编写:与应用构造类似。脚本不像主流构件编程,它通常不引入新的构件,只是简单链接已有构件,脚本可以被看做是引入行为耦合而么有新的状态封装。
脚本编写的目标是后期和高层次的胶合。

符号实际是抽象的进步。

 

 

 

你可能感兴趣的:(设计模式,编程,框架,应用服务器,脚本)