- 浏览: 21950 次
- 性别:
- 来自: 厦门
最新评论
文章列表
本文通过讲解微内核架构模式,API/SPI设计原则,动态脚本语言,分解合成在软件设计中的应用,讲述如何构造一个具备较好可扩展性的软件系统。
先讲一下提纲:
1.软件系统划分原则
2.一个简单软件系统到复杂软件系 ...
写本篇主要是用来后面写一篇可扩展性软件设计打好基础(苦于找不到一篇关于API/SPI的好文章,只好自己写一个,欢迎指教)。
概念:
API:API(Application Programming Interface)表示应用程序编程接口
SPI:SPI(Service Provider Interface)表示服务提供商接口
API与SPI的关系
框架提供API及其实现,框架在实现过程中提供SPI回调机制。SPI是框架的扩展点。如果使用框架方要扩展框架,可以自己实现SPI并注入框架,于是框架使用方其实也是一个服务提供商。
SPI实现有两种方式,一种是第三方提供实现,另一种是应用自身自己提供实现 ...
写本篇主要是用来后面写一篇可扩展性软件设计打好基础。
微内核定义:
微内核是内核的一种精简形式。将通常与内核集成在一起的系统服务层被分离出来,变成可以根据需求加入选件 这样就可提供更好的可扩展性和更加有效的应用环境。使用微内核设计,对系统进行升级,只要用新模块替换旧模块,不需要改变整个操作系统。
微内核架构模式来源于操作系统,本文主要讲解微内核模式在应用软件中的如何实现。
微内核架构模式组成:
一般由下面几个部分组成:微内核、内核、扩展服务(我更喜欢叫做扩展插件)。
内核由几个最基本服务组成,微内核完成加载内核里所有的基本服务。
内核基本服务在应用软件中通常是指那些与业务无关的服 ...
(注:代码在最底下的附件)
1.简单工厂
郭大神和盘哥在说好想买ipad,用代码实现一下
不用模式的设计
public interface Product {
String getDesc();
}
public class IpadProduct implements Product {
@Override
public String getDesc() {
return "Ipad2";
}
}
public class Client {
public static voi ...
模板模式与适配器模式组合使用之合并站点数据
考虑一下这样的一个场景,网站模板应用到网站时需要合并站点数据。
站点数据(SiteData)是由页面(SitePageData)组成的,页面是由页面片段(SiteSegmentData)组成的,页面片段是由区域(SiteRegionData)组成的,区域是由版块(SiteAppData)组成的。
class SiteData{
List<SitePageData> pages;
}
class SitePageData{
List<SiteSegmentData> segments;
...