惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
C
Cybersecurity and Infrastructure Security Agency CISA
N
News and Events Feed by Topic
C
Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
A
Arctic Wolf
Scott Helme
Scott Helme
P
Palo Alto Networks Blog
S
Schneier on Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tor Project blog
量子位
G
Google Developers Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
B
Blog RSS Feed
NISL@THU
NISL@THU
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
AWS News Blog
AWS News Blog
爱范儿
爱范儿
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
L
LINUX DO - 最新话题
Security Archives - TechRepublic
Security Archives - TechRepublic
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Secure Thoughts
Cloudbric
Cloudbric
aimingoo的专栏
aimingoo的专栏
L
Lohrmann on Cybersecurity
TaoSecurity Blog
TaoSecurity Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Hacker News: Ask HN
Hacker News: Ask HN
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
S
Security @ Cisco Blogs
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
G
GRAHAM CLULEY
P
Proofpoint News Feed
V
V2EX
Martin Fowler
Martin Fowler
C
CERT Recently Published Vulnerability Notes
Attack and Defense Labs
Attack and Defense Labs
C
CXSECURITY Database RSS Feed - CXSecurity.com
The Cloudflare Blog
SecWiki News
SecWiki News
罗磊的独立博客
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
小众软件
小众软件
The Last Watchdog
The Last Watchdog

月光博客

AI编程从零开始:环境配置到开发调试-月光博客 母亲被保健品诈骗-月光博客 向身体低头,向岁月妥协:我的高血压“还债日记” -月光博客 月光博客电子书:《信息安全指南》 谷歌发布2025年度搜索排行榜 中国2025社会热点大事记 2025年十大流行语发布 7天3次,骗子骗走我母亲95万元 “技术男”设三重安全墙,母亲95万存款还是被骗走了 电信诈骗后的复盘:母亲的95万元,是怎么从手机银行里消失的 母亲被电信诈骗95万元的全过程 阿根廷警察被谷歌街景相机拍到裸照 网信办开展“清朗·整治恶意挑动负面情绪问题”专项行动 翟欣欣敲诈勒索案一审获刑12年 《绝命毒师》影评:力工觉醒后的梭哈至死 《人工智能生成合成内容标识办法》正式施行 用AI分析你的财务信息 腾讯子公司实习HR怒怼求职者后被开除 OpenAI发布最强模型GPT-5,免费向所有用户开放 用AI解构你的日记 用AI分析你的游戏偏好 用AI分析你的观影偏好 用AI分析你的听歌偏好 《白鹿原》人物分析:乱世浮沉中的人性剖析 乌托邦的捷径:让AI治理“失败国家” 苹果AI的“路径错误”:为什么它在大模型时代掉队了? 《暗黑破坏神3》第35赛季开荒指南 我对特朗普的看法 欧·亨利十大经典小说鉴赏 HBO电视剧《最后生还者》第二季影评 播客自动化更新分发教程 《围城》人物分析:知识分子的时代困局 NotebookLM音频概览支持中文 《暗黑破坏神3》国服回归 《暗黑破坏神3》国服赛季开荒指南 《网络数据安全管理条例》正式发布实施 契约之下的自由:社会契约论 如何去除文章的AI味道 电影《好东西》影评 我的价值观:义务论和效益论 《魔兽世界》正式服PVP教程 电影《哪吒2》影评 中医理论不是科学理论 DeepSeek与主流AI模型对比评测 TikTok停止在美国服务 我的三观(世界观、价值观、人生观) 《无限暖暖》游戏评测 2024年财经年度总结 月光博客2024年推荐阅读文章 IMDb公布2024年热门电影和电视剧 2024年十大流行语发布 谷歌发布2024年度搜索排行榜 中国2024社会热点大事记 Google Adsense税务居住地证明申请教程 极狐GitLab回应前员工实名举报公司高管:恶意诽谤造谣 升级FTTR千兆光纤带宽 字节跳动起诉前实习生索赔800万 看完历届奥斯卡最佳影片后的体验 李子柒已经正式改名并恢复更新 苹果历年新春短片 “姜萍事件”调查结果公布 胡锡进社交平台恢复更新 上海女子沙白自杀的伦理道德分析 京东与杨笠一起玩火 字节跳动大模型训练被实习生攻击,涉事者已被辞退 《加勒比海盗》系列电影 《夺宝奇兵》系列电影时间线 《侏罗纪公园》系列电影时间线 《终结者》系列电影时间线 华为禁止用户从外部手动安装安卓应用(APK文件) 《炉石传说》国服回归一片混乱 官媒辟谣苹果手机被远程引爆 小米回应摄像头里出现陌生男子说话 环球人物:民族大义不是流量密码,盲目排外没有土壤 《异形》系列电影时间线 看完IMDb250后的体验 暴雪《炉石传说》国服开启预约 网易DD参与代打《魔兽世界》事件的深入分析 福建男子四年前“翻墙”浏览境外网站被行政处罚 《魔兽世界》正式服开服两周游戏体验 暴雪游戏足迹查询:查看暴雪游戏的数据 用AI分析你的推特社交网络数据 胡锡进停更三个月 国家网络身份认证公共服务管理办法向社会公开征求意见 苹果将部分产能转回中国 Windows全球大范围蓝屏 电影《V字仇杀队》影评 微软中国员工禁用安卓手机:只能用iPhone 《魔兽世界》怀旧服“巫妖王之怒”游戏体验 百度旗下萝卜快跑已在多个城市开放载人测试 我为什么不喜欢华为这家企业 胡锡进:强烈谴责苏州袭击日本人的凶手 20美元在美国超市的购买力 华为紧急辟谣“是国内最大的牛肉进口商” 苹果公司公布2024年Apple设计大奖获奖名单 自动生成电影剧本:人工智能技术的崭新里程碑 电影《芳华》人物分析 Steam账号被盗号的解决方法 中文互联网内容正在逐步消失 马斯克:推特域名已全部转移到X
“开架式”软件设计是未来之路
投稿 · 2009-05-31 · via 月光博客

早期的国内应用软件产品,其扩展性都是相对较差的,尽管开发商也为此作过很多工作,包括二次开发工具包等等。主要原因就是这些应用本身框架的局限性,不具有可扩展性,在设计时我们关注的只是应用程序的实现,没有关注我们的应用应该构建在一种开放的框架上。(当然开发语言本身也有一定的局限性)

“开架式”软件设计是基于应用程序的可扩充性提出来的,是一种软件底层架构的实现方式。他更关注应用程序底层架构的实现,与具体应用程序的实现无关,或者说具体的应用程序是构建在这种架构定义的范畴之内的。

在这种设计思想下,我们的应用程序框架可形象比喻成书架一样,我们提供一个架子(规范),书架内容的不断丰富,就好像将不同的书(功能/插件)放在架子上一样,当然书需要满足我书架尺寸的要求。

在这种框架下,提供的是一堆服务和资源以及调用和扩展这些服务及资源的规范,而这些服务和资源也是可扩展的,你可以在一个组件中编写一些服务和资源由框架加载并与其他的组件分享。组件的功能是由框架加载并执行,它可以访问框架提供的资源和服务,如可以访问界面元素,访问数据库、文件,调用日志服务写入日志、访问多语言信息等等。

大概的运行时框架如下:

“开架式”软件设计是未来之路

图中的组件A和B可理解为系统提供的组件或者应用程序功能性组件。

其中的关键就是要提供一种机制:

1、 保证组件可以被框架加载并运行,

2、 将组件中包含的资源和服务注册到该框架中,

3、 组件访问框架中的资源和服务的透明性。(也表现出组件间、组件和框架间的协作性和可访问性)。

有了这样的应用程序框架,我们可以任意扩展应用程序的功能组件,只要他遵循框架定义的规范。我们可以新增加一个组件,可以提供新的资源和服务(如果愿意),可以访问框架中的资源和服务就好像这些都是该组件自身具有的,而组件中提供的功能可以通过配置插入到恰当的菜单或工具条供用户调用。而这些对用户是透明的,他们不知道界面中的某个功能究竟来自于那一个组件。组件和组件之间是彼此独立的离散的。

远景:

将产品发布成为这样一套框架(标准)和预先提供的功能组件,用户可以到网上直接下载组件进行程序的升级,用户可以根据框架定义的规范自行开发,甚至有第三方软件公司根据框架的内容和标准专门开发特有的功能,如软件对GPRS、视频会议的支持等等。也可以支持OpenSource,开放标准提供给网上大量的开发者开发功能组件,作为用户可以在网上找到需要的功能组件。这些或多或少已经是一种商业模式的问题了。

优点:

1、 扩展性极强,可以到甚至

2、 因为组件和组件之间是彼此独立的离散的,带来的升级也是方便的,

3、 程序更新只需要下载和替换相关的组件即可,

4、 程序的架构是严密的,

5、 架构本身的升级比较容易。

缺点:

1、 性能的影响。高扩展性必然以牺牲一定性能作为代价的。

2、 功能扩展的不定性。

3、 高度共享带来的安全性也是一个要考虑的问题。

(注:本文为我同事杨舰的几年前的稿件,该文从项目经理的角度提出了一种新的开发框架,供大家参考)

“开架式”软件设计是未来之路