`

architecture, framework and lib

 
阅读更多

作为一个软件从业人员,我问你:

      请说一下你是如何理解architecture, framework and lib的?

 

      因为每个人都工作经验不一样,理解程度不一样,可能会给出不同层次的答案,当然我认为没有优劣,只是视角,谈论对象的问题。

 

首先:以每个概念为对象来进行思考。

     1)在我们设计程序架构的时候,肯定自然而然的就会考虑进一些框架性的,模板性的,可复用性的东西;

     2)以framework为主体时,开发一个framework时肯定也是用来某种的架构方式,并且这个framework最终还会以lib的形式来呈现,共他人使用。

     3)每一个实现特定功能的lib必然包含了一种架构和引用了或是自己设计的框架(为了让思路更清晰,便于日后的维护)。

 

其次:如果要是以自我为中心(以自己写程序的角度),会有另一番景象。

      我们自己写的软件要有一个总的架构,而其他的一切都是要为我这个架构服务的;

      而framework只是帮助完善,我的部分架构;在这种情况下,很多事情都会交给框架去处理,它会去调用你写的代码函数,这个时候,框架是主角,而你的代码是供框架调用的配角。

      lib帮助我实现了某些功能点;具体使用的时候是我的代码去调用这些lib。

 

最后:打个比方实现一个B/S架构的项目:

       对这个项目你会有一个自己的架构,然后针对架构的不同部分你可能会用不同的框架来帮你完成

       你可能会采用  ExtJS+Struts+Spring+Hibernate+DB 在这期间你可能还会引用很多第三方的lib来实现某些功能点,比如用log4j来写日志。

 

 

 

0
0
分享到:
评论

相关推荐

    webservice的lib包

    1. **JAXB (Java Architecture for XML Binding)**:这是一个用于将Java类绑定到XML schema的框架,使得Java对象可以被序列化为XML格式,反之亦然。在Web服务中,JAXB常用于对象到XML的转换,便于数据传输。 2. **...

    spring-framework-4.3.3.RELEASE-dist.rar

    1. 添加Spring库:`lib`目录下的jar包包含了Spring Framework的全部依赖,将其添加到项目的类路径中。 2. 配置Spring:通过XML或注解方式配置Spring Bean,定义对象及其依赖关系。 3. 创建业务逻辑:使用Spring管理...

    cxf简单例子,包含lib 下载即可运行

    "**lib**"目录下包含的是一些必要的依赖库,这些JAR文件是CXF框架运行所必需的,可能包括CXF的核心库、JAX-WS(Java API for XML Web Services)、JAXB(Java Architecture for XML Binding)等。此外,可能还有一些...

    webservice整合spring的需要的jar(在项目的lib里)

    标题中提到的"webservice整合spring的需要的jar(在项目的lib里)",意味着在构建一个整合了Spring和Web服务的项目时,需要在项目的库(lib)目录下包含特定的JAR文件。这些JAR文件通常包含了实现Web服务调用和...

    MFC_lib.rar_MFC lib

    1. **应用框架(Application Framework)**:MFC提供了一个预定义的应用程序框架,包含了创建、初始化、消息处理以及退出应用程序所需的大部分代码。通过继承CWinApp类,你可以轻松定制自己的应用程序。 2. **文档/...

    Xcode_Build_Setting_Reference

    Different types include `executable`, `staticlib`, `sharedlib`, and `bundle`. Selecting the appropriate type ensures that the output file is compatible with its intended use. ##### PRODUCT_NAME This...

    ecs-lib:小巧易用的ECS(实体组件系统)库,用于游戏编程

    ecs-lib是一个小巧易用的库,用于游戏编程。 它是用Typescript编写的,但是您也可以在node.js上使用Web浏览器。 TLDR; 看一下该及其 npm install --save ecs-lib 目录 文献资料 实体组件系统(ECS)是一种分布式的...

    Java邮件开发Fundamentals of the JavaMail API

    * Architecture of the JavaMail framework * Connections between the JavaMail API and the JavaBeans Activation Framework Objectives By the end of this module you will be able to: * Send and read ...

    XCode 15.3 编译私有库 报错问题

    6. **检查Linker Flags**:确认Linker Flags设置无误,尤其是-L和-framework等链接指示。 在Libarclite_Files这个压缩包中,可能包含了用于解决这类问题的特定文件,例如,它可能是一个针对旧版Xcode编译的...

    CMake编译RocketMQ With VS2010

    - **复制 lib 文件**:将编译生成的 libevent.lib, libevent_extras.lib 和 libevent_core.lib 复制到 C:\libevent\lib 文件夹下。 ##### 2. **jsoncpp** - **下载**:从 GitHub 仓库下载 jsoncpp-0.10.6,下载...

    corba jacorb 配置

    %JACORB_HOME%\lib\avalon-framework-4.1.5.jar;%JACORB_HOME%\classes; ``` **1.2 配置属性文件** 接下来需要配置几个重要的属性文件,以确保JacORB能够正确地初始化和运行。 - **jacorb.properties**: 此文件...

    Jax-ws所需要的JAR包

    4. **activation.jar** 和 **javax.xml.soap-api.jar**:这两个JAR文件提供了JavaBeans Activation Framework和SOAP API,它们是处理SOAP消息所必需的。 5. **stax-api.jar** 和 **Woodstox jars**:STAX...

    MicroLib:MicroLib是在Node.js上构建的轻量级API框架,它使用模块联合来托管和集成在同一进程中运行的多个可独立部署的“微服务库”

    微型图书馆微服务库目的摆脱坏处,保持好处。 像任何体系结构一样,微服务风格的体系结构也会带来很多折衷。 其中最主要的是部署独立性与操作复杂性。 将应用程序的组件构建为一组... MicroLib利用这项技术来支持一个框

    Jacorba使用方法

    %JACORB_HOME%\lib\avalon-framework-4.1.5.jar;%JACORB_HOME%\classes`。 ##### 4. 配置属性文件 接下来需要创建一个名为`jacorb.properties`的文件,该文件位于`C:\JacORB\classes`目录下,文件内容如下: ```...

    wsdl的jar包

    - `jaxb-api.jar`:Java Architecture for XML Binding,用于XML和Java对象之间的转换。 - `木材狼-saaj.jar`:SOAP消息抽象API,处理SOAP消息。 - `wsit-rt.jar`:Web Services Interoperability Technology 运行时...

    activation.jar jaxb1-impl.jar jaxb-api.jar jaxb-impl.jar jaxb-xjc.jar jsr173_1.0

    这些文件是Java编程环境中常用的库文件,主要用于XML绑定(Java Architecture for XML Binding,JAXB)和JavaBeans Activation Framework(JAF)。在Java应用程序开发中,尤其是处理XML数据时,这些库扮演着至关重要...

    RCP和CXF做的例子

    【描述】"下载后加入lib下对应的第三方包(版本要对哦)"提示我们需要先下载必要的库文件,并将它们放在项目的 "lib" 目录下。在RCP和CXF项目中,这通常包括Eclipse RCP相关的库、Apache CXF的JAR文件,以及可能需要的...

    samsung s5pv210 linux mfc库和调用实例

    在Linux系统中,多媒体框架(Multimedia Framework,简称MFC)是处理音视频编解码的关键组件。MFC库是三星为S5PV210设计的硬件加速器接口,它提供了高效能的多媒体处理能力,尤其是对于高清视频的编码和解码。 本文...

    apache-cxf-2.4.1.rar_apache-cxf-2.4.1_cxf_web service

    CXF这个名字是"CXF =CX+XF"的缩写,其中"CX"代表了"Client eXtension Framework",而"XF"则代表了"XFire",它是CXF的前身。 Apache CXF的主要功能和特点包括: 1. **Web服务支持**:CXF支持多种Web服务标准,如...

Global site tag (gtag.js) - Google Analytics