精华内容
下载资源
问答
  • Java企业应用开发框架Spring框架简介

    千次阅读 2017-07-12 15:56:05
    Spring是一个开源的轻量级的Java企业应用开发框架,其初衷是为了替代当时非常笨重的Java EE(当时还称为J2EE)组件技术EJB(Enterprice Java Beans),让Java EE开发更加简单灵活。 Spring起源于Rod Jahnson 2002...

    Spring是什么?

    Spring是一个开源的轻量级的Java企业应用开发框架,其初衷是为了替代当时非常笨重的Java EE(当时还称为J2EE)组件技术EJB(Enterprice Java Beans),让Java EE开发更加简单灵活。

    Spring起源于Rod Jahnson 2002年出版的著作《Expert One-on-One J2EE Design and Development》,书中分析了Java EE的开发效率和实际性能等方面的问题,从实践和架构的角度探讨了简化开发的原则和方法。以此为基础,他实现了一个名为interface21的轻量级开发框架,成为Spring框架的前身。2004年,Spring正式发布1.0版本,同年Rod Jahnson推出了另一部影响深远的经典著作《Expert one-on-one J2EE Development without EJB》,Spring开始逐步在Java领域流行。现在Spring框架的版本已经演化到了4.x,它已经成为Java开发框架的一种事实标准,对Java EE规范本身也产生了重要影响。比如EJB规范就在发展中逐渐引入了众多Spring框架的优秀特征。

    Spring最重要的两个核心功能是依赖注入(DI,Dependency Injection)和面向切面编程(AOP,Aspect Oriented Programming)。其中DI用于管理Java对象之间的依赖关系,AOP用于解耦业务代码和公共服务代码(如日志,安全,事务等)。DI和AOP能够让代码更加简单,具有良好的松耦合特性和可测试性,极大地简化开发。理解这两者是使用Spring框架的基础。

    Spring框架本身具有模块化的分层架构,开发者可以根据需要使用其中的各个模块。Spring框架对Java企业应用开发中的各类通用问题都进行了良好的抽象,因此也能够把应用各个层次所涉及的特定开发框架(如MVC框架、ORM框架)方便得组合到一起。Spring是一个极其优秀的一站式的Full-Stack集成框架。

    Spring的基本思想

    Spring的目标是简化Java应用开发,那么它是通过什么方式来实现这一目标的呢?前面我们说过DI和AOP是Spring的核心功能,更准确地说,Spring通过为DI和AOP这两种编程技术提供支持,来让应用更方便的进行开发。此外,Spring提倡基于POJO(Plain Old Java Object)的编程模型,提供了针对企业开发且屏蔽重复代码的工具类。在开始正式进入代码编写之前,我们先了解Spring简化开发的几个基本思想。

    DI

    面向对象的程序通过一组对象之间相互通信来实现特定功能,这里的通信具体来说就是一个对象对另一个对象的方法调用或者属性访问。比如有一个BlogRespositry类负责将博客内容存储到数据库,一个BlogController负责解析前端的Web请求。BlogController接受到新建博客的请求之后,需要调用BlogRespositry的方法来保存博客内容。这里BlogRespositry就是BlogController的一个依赖,具体体现在BlogController会包含一个BlogRespositry类型的成员变量。

    class BlogController {
      private BlogRepository blogRepository;
    
      public BlogController() {
        this.blogRepository = new BlogRepository();
        ...
      }
    
      ...
    }
    

    在上面的代码中,BlogRespositry在构造函数中自己去创建BlogRepository类的实例。而使用依赖注入技术,则BlogRespositry的依赖(即BlogRepository类)是由外部实例化之后注入给它的。依赖注入也称为控制反转(IoC,Inversion of Controll)。当创建一个对象时,它所依赖的对象由外部传递给它,而非自己去创建所依赖的对象(向例子中这样通过new操作)。因此,也可以说在对象如何获取它的依赖对象这件事情上,控制权反转了。这便是控制反转和依赖注入这两个名字的由来了。

    DI可以让对象之间的关系更加松耦合,而且会促使你使用面向接口编程,同时也让测试更加方便。如果现在对这个概念还不是太理解没关系,下一节中我们将基于代码实例来深入了解DI的工作原理。

    AOP

    面向切面编程(Aspect Oriented Programming,AOP)是一种关注点分离的技术,通俗的说就是有机地将各部分代码进行分离,各司其职,互不干扰。软件开发中经常提一个词,叫做“业务逻辑”或者“业务功能”,我们的代码主要就是实现某种特定的业务逻辑。但是我们往往不能专注于业务逻辑,比如我们写业务逻辑代码的同时,还要关注事务管理、缓存、日志等一系列通用功能,如果每个业务功能都要和这些通用功能混在一起,是一件非常低效和痛苦的事情。所以,为了将业务功能的关注点和通用化功能的关注点分离开来,就需要AOP技术了。通用功能的代码实现,对应的就是我们说的切面(Aspect)。

    简而言之,AOP就是一种在开发时将业务相关代码和业务无关的通用功能代码有机分离,而运行时又能够整合到一起形成完整功能的一整套技术。Spring框架中一些模块本身就是基于AOP技术来实现的,例如事务处理和安全相关的模块。

    基于POJO的编程模型

    Java开发领域的一大特色就是有大量开源框架可供我们选择和使用。通常情况下,使用一种开发框架,我们编写的业务类都需要去继承框架提供的类或者接口,如此方能使用框架提供的基础功能。而对于Spring框架,只需POJO就能使用其强大的功能。Spring不强制我们依赖于其特定的API,这称之为“非侵入式”开发,能够让代码更加简单并且更容易复用。

    POJO是Plain Old Java Object的缩写,是软件开发大师Martin Fowler提出的一个概念,指的是一个普通Java类。也就说,你随便编写一个Java类,就可以称之为POJO。之所以要提出这样一个专门的术语,是为了与基于重量级开发框架的代码相区分,比如EJB,我们编写的类一般都要求符合特定编码规范,实现特定接口、继承特定基类,而POJO则可以说是百无禁忌,灵活方便。

    大家在学习过程中会经常遇到另外两个概念:JavaBeans和Spring Bean。这两者和POJO这个概念经常联系在一起,这里简单介绍一下。

    • JavaBeans是一种Java规范定义的一种组件模型,它包含了一些类编码的约定。简单来说,一个类如果拥有一个默认构造函数,由国有访问内部属性且符合命名规范的settergetter方法,同时实现了io.Serializable接口,就是一个JavaBean。那么为什么要这些约定呢? 因为大家都遵守这些约定,在编写或者修改一个类的时候,就能很容易在可视化的开发环境中进行操作,也更方便地分发给他人。

    • Spring Bean是被Spring维护和管理的POJO。最早Spring只能管理符合JavaBeans规范的对象,这也是为什么称之为Spring Bean的原因。但是现在只要是POJO就能被Spring容器管理起来,而且这也是最为常见的情况。

    模板代码

    在开发过程中,很多的功能的实现,都会涉及到完全相同的代码,最典型的例子就是JDBC的使用。

    public Employee getEmployeeById(long id) {
        Connection conn = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        try {
            conn = dataSource.getConnection();
            stmt = conn.prepareStatement("select id, name from employee where id=?");
            stmt.setLong(1, id);
            rs = stmt.executeQuery();
            Employee employee = null;
            if (rs.next()) {
                employee = new Employee();
                employee.setId(rs.getLong("id"));
                employee.setName(rs.getString("name"));
            }
            return employee;
        } catch (SQLException e) {
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                }
            } 
           if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                }
            }
        }
        return null;
    }
    

    而Spring通过Template这样一种设计模式来解决这样的问题。Template模式,就是把固定的逻辑放到一个模板类中,变化的部分放到自己实现的类中,通过继承或者回调的方式把固定逻辑和变化部分结合到一起。比如在面的代码中,数据库连接和数据库异常处理的大量代码都是一模一样的,不同的数据库访问操作只有数据查询部分的逻辑是不一样的。Spring将这些代码被放在了JdbcTemplate这个模板类中,大大简化了数据访问的开发工作。

    public Employee getEmployeeById(long id) {
        return jdbcTemplate.queryForObject(
                "select id, name from employee where id=?",
                new RowMapper<Employee>() {
                    public Employee mapRow(ResultSet resultSet, int i) throws SQLException {
                        Employee employee = new Employee();
                        employee.setId(resultSet.getLong("id"));
                        employee.setName(resultSet.getString("name"));
                        return employee;
                    }
                });
    }
    

    Spring框架中的模块

    使用Spring框架之前,我们简单了解一下这个框架由哪些模块构成。Spring本身具有非常好的模块化架构,包含了20多个模块。这些模块划分为六大部分,可以单独使用,也可以组合使用。下面这张图是Spring官方文档给出的Spring概览图。

    spring-overview.png

    简单地说,这六部份实现的功能功能分别为:

    • 核心容器:核心模块,提供了IoC/DI容器
    • AOP:AOP的实现和AspectJ的支持
    • 消息:提供对基于消息应用的支持,提供与Spring Integration的集成
    • 数据访问与集成:JDBC访问的简化、事务的支持,ORM(Object Relation Mapping)框架(如JPA、Hibernate和Mybatis等)与OXM(Object XML Mapping)框架的集成
    • Web:Spring MVC的实现,能集成众多模板引擎技术(如Thymeleaf、JSP与Velocity等)
    • 测试:提供大量Mock对象,支持单元测试;提供Spring Context的测试支持,支持集成测试
    展开全文
  • C#企业应用开发艺术CSLA.NET框架开发实战
  • Java RCP企业应用快速开发框架,详细内容请访问www.soyframework.com
  • PHP企业应用程序开发框架

    千次阅读 2002-05-08 10:18:00
    作为JAVA的开发者,有许多非常好的框架可用来高效的建立企业网络应用程序,其中Turbine就是serverlet里最好的快速开发框架,详见http://jakarta.apache.org/turbine/index.html。而在PHP邻域里,根据Turbine的精髓...

    作为JAVA的开发者,有许多非常好的框架可用来高效的建立企业网络应用程序,其中Turbine就是serverlet里最好的快速开发框架,详见http://jakarta.apache.org/turbine/index.html。而在PHP邻域里,根据Turbine的精髓制作的框架Eureka Energy-PHP是最好的PHP应用程序开发框架,演示实例程序见:http://www.ee-studio.com/main/ee3/index.php 下载:http://www.ee-studio.com/main/ee3/eurekaenergy3.rar

    展开全文
  • Spring一直是很火的一个开源框架,很多中小企业都使用Spring家族的框架进行企业开发,比如我们公司一直在使用以SpringMVC为核心的框架进行各种应用开发。用SpringMVC开发过应用的小伙伴应该都对该...

    前言

    目标

    起步

    1、快速生成一个SpringBoot应用

    2、导入项目

    3、添加web支持

    4、测试

    改进

    1、添加热启动

    2、使用YAML非标记语言


    • 前言

    Spring一直是很火的一个开源框架,很多中小企业都使用Spring家族的框架进行企业开发,比如我们公司一直在使用以SpringMVC为核心的框架进行各种应用开发。用SpringMVC开发过应用的小伙伴应该都对该框架搭建步骤的繁琐、配置文件的繁杂感到头疼,就算用Freemarker等模板引擎实现框架快速生成,解决搭建问题,但你可能本来只需要很少的功能,却拿到了一个体积很大的应用。

    在过去一段时间里,SpringBoot在社区中热度很高,所以决定使用SpringBoot搭建一套适合我们公司业务的企业级开发框架。

    • 目标

    使用SpringBoot创建支持企业日常开发的单应用框架(后续会加上单点登录),数据库使用MySQL/MariaDB,Druid连接池,支持多数据源,MyBatis执行CRUD操作,用LogBack记录应用日志。为方便开发,使用 MyBatis提供的generator工具生成通用mapper及实体。使用SpringSecurity实现资源权限管理,实现前后端分离,提供 REST风格的接口

    • 起步

    1、快速生成一个SpringBoot应用

    我平时最常用的生成方法有两种,第一种,在IDEA中通过Spring Initializr生成,这种方式后续熟练之后开发中最常用,不过我们这里说另一种方法。

    访问http://start.spring.io/,这是spring官方提供的快速生成方式。进入页面后,选择maven构建工具,java开发语言,springBoot版本选择当前最新的稳定版。(写此文时为2.0.3)

    选择完后点击Generate Project,生成示例,会直接弹出下载,保存后解压即可

    PS:点击Switch to the full version 会弹出maven依赖添加的选项,刚开始学习SpringBoot的话就不要选这个里面的东西了,一步一步来

    2、导入项目

    打开IDEA或Eclipse,本文用IDEA示范,导入刚才解压的项目

    导入后,项目初始目录如下图:

    DemoApplication.java:一个带有main()方法的类,用于SpringBoot的启动

    application.properties:一个空的properties配置文件,可根据需要添加配置

    DemoApplicationTest.java:一个空的Junit测试,后续会对测试模块作说明

    pom.xml:Maven构建文件

    #下面文件基本不会需要你知道怎么用,只要知道他们是干什么的即可

    .gitignore:开发中不需要加入到git管理的过滤配置

    mvnw、mvnw.cmd:来自于Maven wrapper的分别用于Linux和Windows的文件

    demo.iml:包含了项目依赖的所有jar包

    3、添加web支持

    此时生成的是一个Java项目,要作为web项目使用,还需要初始化web组件,在pom文件中添加支持web的模块

    <!-- 添加支持web的模块 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    pom.xml文件中默认有两个模块:

    spring-boot-starter:核心模块,包括自动配置、日志和YAML支持

    spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito

    4、测试

    引入web模块后,运行DemoApplication类即可启动项目,但此时项目中什么也没有,为方便测试,先新建一个TestController.java

    @RestController
    @RequestMapping("/test")
    public class TestController {
        @GetMapping("/hello")
        public String hello(){
            return "hello SpringBoot";
        }
    }

    @RestController 等价于@Controller+@ResponseBody的结合,使用这个注解的类里面的方法都以json格式输出;

    在SpringMVC中我们需要配置需要被扫描的Controller包,而SpringBoot默认扫描启动类(DemoApplication.java,即添加@SpringBootApplication注解的类)所在的包以及下级包里的所有bean,建议将启动类放在最外层包下

    编写完成后,运行 DemoApplication启动项目,访问localhost:8080/test/hello,查看效果如下: 

    springBoot默认使用8080端口,此处因为我运行2个项目所以将示例的端口改为9090,修改方法如下

    在application.properties中添加:

    server.port=9090

    • 改进

    1、添加热启动

    在日常开发中,我们会在调试过程中不断修改后台代码,就需要不停重启服务,很影响开发效率,SpringBoot对调试的支持很好,修改后可立即生效,只要在pom文件中添加该依赖即可:

    <!-- 添加热启动 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>

    <optional>true</optional>去掉热部署会失效,原因不明;

    该模块在完整的打包环境下运行的时候会被禁用。如果你使用java -jar启动应用或者用一个特定的classloader启动,它会认为这是一个“生产环境”,或者你可以用<scope>指定;

    生产环境不建议使用热部署

     这时我们已经添加了class文件的热部署功能,还需要添加静态资源文件的热部署功能(html,js等)

    在IDEA中,点击file→Settings,在设置页面找到Build,Execution,Deployment→Compiler,勾选Build project automatically

    点击确定后,按下Ctrl+Shift+Alt+/,弹出层选择Registry,在出来的页面勾选第一条即可

     这样我们不管是修改java文件、配置文件还是静态资源文件都不需要重启了

    2、使用YAML非标记语言

    我们习惯使用.properties文件写json格式的配置,但随着配置的增加以及配置内数据结构变得复杂,.properties的可读性会变得越来越差,所以我们改用设计目标就是为了方便人类读写的YAML格式的配置文件

    首先我们先删除掉原来的application.properties文件,在原目录下新建application.yml文件即可(在上文中有提到SpringBoot默认支持YAML,对应的依赖包为 spring-boot-starter 下的 snakeyaml

    例如刚才的修改端口配置,在.yml文件中写为

    server:
       port: 9090

     第一次接触YAML会遇到一些坑,比如莫名奇妙配置不生效,是因为YAML格式有严格的的语法规则

    • 大小写敏感
    • 使用缩进表示层级关系
    • 缩进时不允许使用Tab键,只允许使用空格
    • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
    • kye-value的关系使用冒号代表,格式为key: value,注意冒号后面要加一个空格,不然解析不了
    • #表示注释,从这个字符到行尾,都会被解析器忽略

    关于YAML支持的数据结构,对于不复杂的业务来说运用不到,需要了解的可以去看一下,链接:YML语言格式

    展开全文
  • CSLA .NET是一个.NET软件开发框架,帮助开发者“为Windows、Web、面向服务和工作流等应用构建强大和可维护的业务逻辑层”。 CSLA是Component-based, ...都能从《C#企业应用开发艺术:CSLA.NET框架开发实战》受益匪浅。
  • 《C#企业应用开发艺术:CSLA NET框架开发实战》内容简介:CSLA NET框架成为了微软.NET平台上最广泛应用的开发框架之一,《C#企业应用开发艺术:CSLA NET框架开发实战》介绍了CSLA NET 3.6架构背后的构思过程,描述了...
  • JavaWeb应用开发框架实例

    万次阅读 2018-06-12 21:15:49
    一、 概述Web 应用架构可以划分为两大子系统:前端子系统和后台子系统。前端子系统:1. 基础技术: Html/Javascript/CSS / Flash2. ...2. 开发框架: Struts, Spring, Hibernate, ibatis 等;3. 应用服务器: Tomcat ...

    一、 概述

    Web 应用架构可以划分为两大子系统:前端子系统和后台子系统。

    前端子系统:

    1. 基础技术: Html/Javascript/CSS / Flash

    2. 开发框架: jQuery, Extjs , Flex 等;

    后台子系统:

    1. 基础技术: Java Servlet;

    2. 开发框架: Struts, Spring, Hibernate, ibatis 等;

    3. 应用服务器: Tomcat / Jetty

    小编推荐一个学JAVA的学习裙【四九二,一七三,八四二】,无论你是牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发具,很多干货和技术资料分享

    编程模型: B/S 模型。 客户端向服务器端发送请求, 服务器经过处理后返回响应, 然后客户端根据响应及需求绘制前端展现。

    在用户客户端和实际提供功能的Web 服务器之间还可能存在着代理服务器, 负载均衡服务器, 不过那些属于锦上添花的事物,暂时不在考虑范围内。

    客户端应用理念: 客户端承担大量的交互逻辑及渲染工作,服务器端主要是处理请求和返回数据。

    前后端系统耦合: 客户端和服务器端各自处理自己内部的子系统耦合;而客户端与服务器端的耦合简化为一个通信与数据通道。该通道用来传输通信请求和返回数据。

    请求通信: 采用 Http / Tcp 协议

    数据通道: 采用 Json, xml , 文本字符串,字节。 内部系统一般采用 Json 作为数据交换格式;系统间的互操作则采用XML 来规范;文本字符串是最一般的形式, 字节是最底层的形式。

    小编推荐一个学JAVA的学习裙【四九二,一七三,八四二】,无论你是牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发具,很多干货和技术资料分享

    二、 架构演变

    最轻的架构: jQuery + Servlet + ajax 在客户端使用 jQuery发送 ajax 请求给Java 服务端的 Servlet 进行处理, Servlet 仅仅返回数据给客户端进行渲染。

    该架构有效地分离了前端展示和后台请求处理,同时又保持了最轻的复杂性, 只需要学会编写 Servlet 及使用 jQuery , 就能构建简单的应用。

    如果只是做个人创意演示, 可以采用该架构, 快速实现自己的创意功能。 Servlet 是Java web 应用的基础技术,jQuery 则是前端开发的简单易用的利器。

    后台架构演变:

    1. 逻辑与页面的分离: JSP/Servlet

    JSP 实现了页面逻辑与外观的分离,但是, 前端子系统与后台子系统仍然是紧密耦合的; 前端设计人员实际上只需要服务端返回的数据, 就可设计出非常专业的界面显示。

    2. MVC 架构:Struts2(含Servlet,MVC) + JDBC

    用Servlet 来添加服务器功能是基本的选择,但在web.xml中配置大量的 Servlet 却不是最佳的选择。

    Struts2 在服务端实现了更丰富的MVC 模式, 将本来由应用决定的控制器从web容器中分离。

    3. SSH 架构: Struts2(含Servlet, MVC) + Spring (Ioc) + Hibernate (ORM,对象-关系映射)

    通常, 应用系统中需要预先创建一些单例对象, 比如 Controller, Service, Dao, 线程池等, 可以引入 Spring Ioc 来有效地创建、管理和推送这些对象;使用 Hibernate 来实现关系数据库的行与面向对象的属性之间的映射与联接,以更好地简化和管理应用系统的数据库操作。SSH 可以说是 JavaWeb应用系统开发的三剑客。

    4. SI 架构: SpringMVC(含Servlet, Ioc, MVC, Rest) + iBatis (Semi-ORM)

    过于复杂的架构会将人搞晕。因此,在适应需求的情况下, 尽量选择简单的架构,是明智之选。 这种架构使用面向资源的理念,着重使用Spring作为MVC及应用基础服务设施, 同时使用 iBatis 来实现更简单灵活的ORM映射, 使之在可以理解和维护的范围内。

    小编推荐一个学JAVA的学习裙【四九二,一七三,八四二】,无论你是牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发具,很多干货和技术资料分享

    前端架构:

    1. Flash 架构: Flex + jQuery + JSP

    这是一种比较传统的前端架构,采用同步模式, Flex 承担大量的页面渲染工作, 并采用AMF协议与Java端进行通信, 而JSP 则可以用于更快速的页面显示。优点是: 经过考验的结构, 通常是值得信赖的; 缺点是, 由于采用同步模式, 在交互效果上可能不够流畅, 需要进行比较耗时的编译过程;此外, Flex 基于浏览器插件运行,在调试方面有些麻烦。

    2. MVC 架构: Extjs + jQuery

    这是一种比较现代的前端架构, 采用异步模式, Extjs4 可以实现前端子系统的MVC 分离, 对于可维护性是非常不错的支持;此外, jQuery 可以作为有效的补充。

    优点: 异步, 快速, 对于企业内部的后台管理系统是非常好的选择。

    缺点: Extjs4 的可定制性、可适应性可能难以适应各种特殊的需求,需要用其它组件来补充, 比如大数据量的绘制。对于互联网应用, 速度可能是致命伤。

    三、 架构的选择

    不要去询问哪种架构更好,更需要做的是清晰地定位项目目标,根据自己的具体情况来选择和定制架构。反复地尝试、观察和改进,反复磨炼技艺,这样才有助于设计水平的提升。

    架构的选择通常有四种关注点:

    1. 适用性: 是否适合你的项目需求。 架构有大有小, 小项目用小架构, 大项目用大架构。

    2. 可扩展性: 该架构在需要添加新功能时,是否能够以常量的成本添加到现有系统中, 所做的改动在多大程度上会影响现有功能的实现(基本不影响,还是要大面积波及)。

    3. 便利性: 使用该架构是否易于开发功能和扩展功能, 学习、开发和测试成本有多大。

    4. 复杂性: 使用该架构后,维护起来的成本有多大。你自然希望能够写一条语句做很多事,使用各种成熟的组件是正确的方式,同时,在项目中混杂各种组件,也会提升理解和维护系统的复杂度。便利性和复杂性需要达到较好的平衡。

    特殊的关注点:

    譬如,应用需要支持高并发的情况, 需要建立一个底层的并发基础设施, 并向上层提供简单易用的接口,屏蔽其复杂性。

    四、 架构演进的基本手段

    架构并不是一成不变的, 在做出最初的架构之后,随着开发的具体情况和需求的变更, 需要对最初架构做出变更和改进。

    架构演进的基本手段:

    一致性, 隔离与统一管理, 螺旋式重构改进, 消除重复, 借鉴现有方案。

    1. 一致性: 确保使用统一模式来处理相同或相似的功能; 解决一次, 使用多次。

    2. 模块化、隔离与统一管理: 对于整体的应用, 分而治之,将其划分为隔离性良好的模块,提供必要的通信耦合;对于特定的功能模块, 采用隔离手段,将其隔离在局部统一管理,避免分散在系统的各处。

    3. 不断重构改进, 一旦发现更好的方式, 马上替换掉原有方式。

    4. 尽可能重用,消除重复。

    5. 尽可能先借鉴系统中已有方案并复用之;如果有更好方案可替换之;

    小编推荐一个学JAVA的学习裙【四九二,一七三,八四二】,无论你是牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发具,很多干货和技术资料分享

    有一条设计准则是: 预先设计, 但不要过早设计。

    意思是说, 需要对需求清楚的部分进行仔细的设计, 但是对于未知不清楚的需求,要坚持去理解它,但不要过早地去做出“预测性设计”;设计必须是明确的、清晰的、有效的, 不能针对含糊的东西来设计。可以在后期通过架构演进来获得对后续需求的适应能力。

    展开全文
  • 力软敏捷开发框架是基于.net平台研发出的一套采用面向构件技术实现企业应用开发、配置、运行集成一体的综合技术平台。平台可以开发企业整个应用软件体系,并为其提供一个组件化、低代码、可视化的软件开发模式。 ...
  • 应用开发之快应用框架解析

    千人学习 2018-11-12 17:22:12
    本期课程会对快应用框架进行简单的介绍,此外,会详细讲解Template、Style、Script开发知识点,帮助开发者快速掌握快应用开发基础知识。
  • 企业云+端应用开发 就用BeX5BeX5企业快速开发平台 ⇒ 云+端时代企业应用开发利器BeX5 = WeX5开源快速开发框架+ 强大的工作流/报表/组织权限/文档/门户能力WeX5:开源、免费的应用快速开发框架BeX5:专业、强大的...
  • 企业应用框架基础模块

    千次阅读 2014-03-01 20:11:47
    企业应用系统开发的越多,就会发现里面存在很多通用任务。如果把这些通用任务作为基础模块,整合到一个框架里面,以后开发项目就可以在这个基础上进行,可以加速项目进行。 我从后端到前端总结了一些基础模块,主要...
  • 企业应用框架的演变

    千次阅读 2017-02-03 11:14:49
    企业应用框架的演变,可以让我们了解一些框架演变带来的一些优势。
  • 中小型企业Web开发框架

    千次阅读 2017-10-13 13:59:54
    集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持第三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业开发解决...
  • 到目前为止,我们已经学习了如何使用Blueprint將Spring框架整合到OSGI应用中,并学习了Blueprint&Gemini Blueprint的一些使用细节。本篇文章开始,我们將Mybatis框架整合到OSGI应用中。一、获取Mybatis框架...
  • JavaWeb_v1.0.0企业开发框架

    千次阅读 2020-05-21 08:42:15
    企业开发框架SpringBoot+Layui+Thymeleaf+MybatisPlus开发权限(RBAC)及内容管理框架,框架中集成了权限管理、模块管理,数据库管理、富文本编辑器(已集成ueditor,kindeditor),后台支持多主题切换、布局管理、广告...
  • 之前我们已经将开发框架以及第三方Bundle都导入到Eclipse中了,现在我们先运行一下OSGi运行时,看看我们的开发框架是否能在OSGi环境中启动。不过在这之前,我们先来看看开发框架中这些Bundle的职能以及它们之间的...
  • 应用框架开发入门

    千次阅读 2007-05-23 17:00:00
    专门讲框架开发的资料也只有【应用框架的设计与实现】和【Framework的设计与应用】,东摘抄西摘抄就有了如下的文章,关于框架开发的技术这里只列出了大纲,感兴趣的可以去看看【应用框架的设计与实现】,对书的作者...
  • 快速开发而又容易扩展,高性能且鲁棒性强。...这个问题的解决方案非常简单且已经经受起时间的考验:使用一个已经提前打造好的开发框架。因此才会有如此多的如Express.js,Koa,Sails.js等框架的概念提出来并加以实现。
  • JSAAS=云应用框架+SAAS+应用开发平台

    千次阅读 2017-03-28 17:09:58
    JSaaS如何支持传统应用开发与云应用开发
  • 之前化了不少笔墨介绍有关OSGi和Spring DM框架的内容,目的就是为了我们开发框架的出场做铺垫。在序篇中我已经介绍了做为开发框架所应具备的要素。其中最为关键的是要为开发人员提供一套统一的编程模型或称其为开发...
  • dwz4j企业级Java Web快速开发框架(Mybatis + SpringMVC) + jUI整合应用
  • Spring+3.x企业应用开发实战光盘源码(全)

    千次下载 热门讨论 2012-03-27 17:21:58
     第2章:通过一个简单的例子展现开发Spring Web应用的整体过程,通过这个实例,读者可以快速跨入Spring Web应用的世界。  第3章:讲解Spring IoC容器的知识,通过具体的实例详细地讲解IoC概念。同时,对Spring框架...
  • SOFA企业应用框架

    万次阅读 多人点赞 2018-02-08 10:37:29
    前言从业这么多年,接触过银行的应用,Apple的应用,eBay的应用和现在阿里的应用,虽然分属于不同的公司,使用了不同的架构,但有一个共同点就是都很复杂。导致复杂性的原因有很多,如果从架构的层面看,主要有两点...
  • COTS应用程序开发框架简介(一)

    千次阅读 2006-06-13 11:43:00
    COTS应用程序框架简介 J2EE以其成熟的架构、优秀的跨平台特性和稳定的性能表现等正逐渐成为企业应用的首选技术体系。但是由于多种因素,开发J2EE程序是一个相对较复杂的过程,很多基于J2EE的项目最终都以失败而告终...
  • 支持插件化应用开发框架能给程序带来无穷的生命力,也是目前很多系统、程序追求的重要方向之一,插件化的模块,在遵循一定的接口标准的基础上,可以实现快速集成,也就是所谓的热插拔操作,可以无限对已经开发好...
  • 好不容易找到的,唯一的遗憾是E文的,传说中唯一一本讲.Net企业分布式开发的书(由于一次只能,所以分两次,真不知道其他人怎么传大于10M的上去了)
  • 基于: JDK:1.8 Maven:3.3.9 Spring Boot 1.5.10.RELEASE spring-boot-starter-web 1.5.10.RELEASE (inherited from spring-boot-starter-parent) jackson-core 2.8.10 spring-web...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 282,822
精华内容 113,128
关键字:

企业应用开发框架