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

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
O
OpenAI News
Cloudbric
Cloudbric
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
L
Lohrmann on Cybersecurity
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tenable Blog
S
Security @ Cisco Blogs
N
News and Events Feed by Topic
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
P
Proofpoint News Feed
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东

博客园 - jk

我们向IT界贡献了什么? mvc MVVM 用Reflactor的FileGenerator插件反编译代码后 一个动态创建卸载应用程序域的例子 一个简单的动态加载控件并保存控件信息的框架 可删除图片小软件 什么是AOP? “长尾理论” 技术在创业团队中的重要性 如何进行成功的创业-程序员创业白皮书 对话周鸿袆:从程序员创业谈起 十个习惯让你精通新的开发技术 精通语言不等于是一个好的软件开发人员 如何从容应对新技术暗潮 Visual Studio2005无法启动web调试的真正原因 互联网给我们了学习和交流的平台 交互界面与输入(2) 交互界面与输入(1)
一个自己设计的软件框架
jk · 2010-12-27 · via 博客园 - jk

    自己一直对软件设计框架比较感兴趣,下面说点自己对软件设计思想的理解。软件其实就是数据+业务+界面展示。在数据这方面来说主要在于数据的结构设计,这里的数据结构不是计算机课程中的那个概念。我理解是包括文件分布设计,数据类型设计(类,结构,数组),文件夹组织设计,数据库设计(表结构设计),动态库等模块的分布设计,针对这样理解的数据结构设计,引申出一层数据访问层,在这一层主要实现对所说结构数据的操作。业务层主要有很多业务模块组成,业务模块底层调用的是数据访问层,简单的业务层功能就对应单个业务模块,复杂点的业务流程可能是简单业务流程的组合,在业务流程上层可能存在着业务流程,业务流程有各个业务组成,因此可抽象出一个业务流程管理调度层。最上层是界面展示层,界面展示层最好采用插件设计,便于扩充。另外说一点在数据访问层抽象出接口,在业务层抽象出接口,界面展示层调用业务层是可采用面向方面中的依赖注入思想。这样整个架构就比较有扩充灵活性。图如下: