软件的可扩展性与框架的可交互性

框架的可交互性:

通过接口混入与注册接口实现,外围感兴趣的事情发生时,框架通过注册的hook通知外部。

软件的可扩展性:

1)软件框架的抽象类组件的可替代性,通过依赖注入具体实现 实现扩展;

2)插件:插件生成以后,注册到基础架构(注册插件本身和插件功能的触发机制)。

3)基础架构提供容器或者挂靠点,外围通过填充容器或者依附挂靠点来实现扩展。

4)通过hook回传基础架构需要的功能或模块实现扩展。

时间: 2024-10-27 13:16:01

软件的可扩展性与框架的可交互性的相关文章

最新一代企业管理软件功能介绍

Saaii商翼ERC企业管理系统功能介绍 一.操作界面 商翼ERC企业管理系统一改传统管理软件的"7"字形框架布局,采用了全新的Windows平台界面和个性化工作图标的直观的设计风格,美观简洁.清晰明了.每一个工作图标的名称与功能用途相互对应,用户无须再通过下拉菜单的方式去查找应用,缩短了查找的时间,简化了操作的步骤,大大提高了工作的效率. 二.客户管理 商翼ERC企业管理系统对客户采取的是动态管理模式.用户可以随心所欲的建立多个客户分组和设置客户等级,同一个客户可以添加到多个不同的客

spring.net框架配置和使用

spring.net框架学习笔记 spring.net框架是用于解决企业应用开发的复杂性的一种容器框架,它的一大功能IOC(控制反转),通俗解释就是通过spring.net框架的容器创建对象实体,而不是通过程序员new出来.只要在spring.net的相应xml中配置节点,在获取对象的时候就可以通过 IApplicationContext ctx = ContextRegistry.GetContext(); UserInfoDal dal = ctx.GetObject("UserInfoDa

从零开始编写自己的C#框架(27)——什么是开发框架

前言 做为一个程序员,在开发的过程中会发现,有框架同无框架,做起事来是完全不同的概念,关系到开发的效率.程序的健壮.性能.团队协作.后续功能维护.扩展......等方方面面的事情.很多朋友在学习搭建自己的框架,很多公司也在创建或使用自己的框架,网上开源的框架多如牛毛,每年新上线的各种框架也不知多少.而不停的重复造轮子,也让更多的朋友鸟枪换炮,越跑越快,工作效率越来越高.那么什么是框架呢? 什么是框架 度娘上说:框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间

可伸缩性/可扩展性(Scalable/scalability)

原文地址:http://www.jdon.com/scalable.html 可伸缩性(可扩展性)是一种对软件系统计算处理能力的设计指标,高可伸缩性代表一种弹性,在系统扩展成长过程中,软件能够保证旺盛的生命力,通过很少的改动甚至只是硬件设备的添置,就能实现整个系统处理能力的线性增长,实现高吞吐量和低延迟高性能. 可伸缩性和纯粹性能调优有本质区别, 可伸缩性是高性能.低成本和可维护性等诸多因素的综合考量和平衡,可伸缩性讲究平滑线性的性能提升,更侧重于系统的水平伸缩,通过廉价的服务器实现分布式计算:

Netty:一个非阻塞的客户端/服务器框架

Netty:一个非阻塞的客户端/服务器框架 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs Netty是一个异步事件驱动的网络应用框架,为Java网络应用的开发带来了一些新活力.Netty由协议服务器和客户端所组成,可用于快速开发可维护的高性能软件.Netty应用框架及其工具简化了网络编程,而且由Netty社区进行维护. Netty还被归类为NIO客户端/服务器框架,用它能够快速.简易地开发网络应用,使得TCP和UDP套接字服务器的网络编程得以简化和

JAVA web 框架集合

“框架”犹如滔滔江水连绵不绝, 知道有它就好,先掌握自己工作和主流的框架: 在研究好用和新框架. 主流框架教程分享在Java帮帮-免费资源网 其他教程需要时间制作,会陆续分享!!! 152款框架,你还知道其他的吗? 留言你用过的web框架 Java开源web框架汇总 1 Struts2 Struts2是一个web应用框架.它不是一个Struts的新的发布版本,而是一个全新的框架.Struts2 是第二代基于Model-View-Controller (MVC)模型的web应用框架. Struts

商翼ERB企业管理软件是如何管理客户的?

作为最新一代的企业计算级管理系统,商翼ERB企业管理软件的客户管理功能非常的强大. 可以对客户进行自定义多级分组和设置客户等级,同一个客户可以分配到多个分组和等级设置中,查找起来非常的方便和精准: 用户可以在图形显示和文字显示之间进行自由的切换,操作起来非常的方便. 独一无二的业务大厅集成业务处理中心,用户可以将业务添加到业务大厅中,并对客户业务合作的进展及处理情况进行随时跟踪:管理人员可以将客户分配.共享或转移给公司的其他业务人员,进行协同业务处理: 特有的业务员工作日记和业务管理功能,管理人

(转)10款微信公众平台相关的开源软件

1.微信公共帐号机器人 WeBot WeBot ( Weixin Robot) 的设计目标就是让你傻瓜化的接入微信公众平台.是 微信公众平台提供的开放信息接口的自动回复系统,基于node.js 实现. 功能: 清晰独立的 router ,轻松实现文本匹配流程控制 基于正则表达式的对话设定,配置简单,可以给一句话随机回复不同内容 支持等待后续操作模式,如可以提示用户"需要我执行xxx操作吗?" 授权协议: 未知开发语言: JavaScript 源码地址:https://github.co

软件工程:传统软件工程 vs 敏捷软件开发

前言 软件工程(Software Engineering): 是一种层次化技术. 将系统化的.规范的.可量化的方法应用于软件的开发.运行和维护,即将工程化的方法应用于软件. 研究"建立和使用一套合理的工作原则,以便经济地获得可靠的.可以在实际机器上高效运行的软件"的方法. 敏捷软件开发(Agile software development): 一种应对快速变化的需求的一种软件开发方法.基于迭代和增量开发,通过自组织,跨团队,沟通协作完成开发工作. 一.传统软件工程 (一)产生背景 随着