• java_架构与模式


    框架有哪些?
    C++语言的QT、MFC、gtk,
    Java语言的SSH,
    php语言的 smarty(MVC模式),
    python语言的django(MTV模式)等等
    设计模式有哪些?
    工厂模式、适配器模式、策略模式等等
    简而言之:框架模式是大智慧,用来对软件设计进行分工;
    设计模式是小技巧,对具体问题提出解决方案,使得代码复用率和耦合度降低。

     ===============

    设计模式

    http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html

    ===============

    设计模式和体系结构模式

    建立模式(模型)

    环境:

    问题:

    方案:

    模式是一条由三部分组成的规则,一个特定的环境,一个问题,一个解决方案

    模式的核心思想:进行设计的复用

    SSH

    Struts(Struts MVC)+Spring+Hibernate

    MVC

    之前的项目比较简单,多是用JSP 、Servlet + JDBC 直接搞定,在项目中尝试用 Struts(Struts MVC)+Spring+Hibernate, 严格按照分层概念驱动项目开发,

    MVC作为WEB项目开发的核心环节,正如三个单词的分解那样,C(控制器)将V(视图、用户客户端)与M(模块,业务)分开构成了MVC ,这边不去讨论项目中是否应用MVC ,也不针对MVC的实现原理进行讲解,而是探讨实践中如何从应用SSH, 到Struts(Struts MVC)+Spring+Hibernate的演化过程。

    一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0)

      1. jar包引入

      Spring 2.5.6:spring.jar、spring-webmvc.jar、commons-logging.jar、cglib-nodep-2.1_3.jar

      Hibernate 3.6.8:hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar、antlr- 2.7.6.jar、commons-collections-3.1、dom4j-1.6.1.jar、javassist- 3.12.0.GA.jar、jta-1.1.jar、slf4j-api-1.6.1.jar、slf4j-nop-1.6.4.jar、相应数据库的 驱动jar包

    SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是 DispatcherServlet,DispatcherServlet负责转发每一个Request请求给相应的Handler,Handler处理 以后再返回相应的视图(View)和模型(Model),返回的视图和模型都可以不指定,即可以只返回Model或只返回View或都不返回。

    DispatcherServlet是继承自HttpServlet的,既然SpringMVC是基于DispatcherServlet的,那么 我们先来配置一下DispatcherServlet,好让它能够管理我们希望它管理的内容。HttpServlet是在web.xml文件中声明的。

    spring 3.2不支持1.8编译环境,解决办法就是降为1.7编译环境
    spring官网说了,要使用java8,只支持spring 4.X以上版本,而spring的使用最低Java要求java5及以上,
    如果出现例外,那就例外说了,比如一开始spring 3.1就可以在java8上编译。

    cxf

    springmvc

    http://www.jianshu.com/p/0ccaa4af05fc
    三分钟学会用SpringMVC搭建最小系统(超详细)

    =========

    xml

    json

    =========

    soap

    restful

    ==========

    CXF

    Apache CXF™ is an open source services framework. CXF helps you build and develop services using frontend programming APIs, like JAX-WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI.

    =================================

    restful

    路径又称"终点"(endpoint),表示API的具体网址。

    服务器返回的数据格式,应该尽量使用JSON,避免使用XML。

    REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一。在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了,无论是对URL的处理还是对Payload的编码,REST都倾向于用更加简单轻量的方法设计和实现。值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格。


    REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。

    rest文档化,wsdl和wadl

    WSDL(Web Services Description Language,Web服务描述语言), 是W3C提出的,通常用于SOAP服务器描述其所能提供的服务。WSDL的服务绑定选项灵活(例如,可以通过SMTP邮件服务器提供服务),除了GET和POST之外,并不支持HTTP操作。由于REST服务通常使用HTTP动作,例如PUT和DELETE,所以选择WSDL作为REST服务的文档描述显然不太合适。
    在 version 2.0中,WSDL支持所有的HTTP动作,因此目前可以考虑作为REST服务的文档描述。

    第二个选择是WADL(Web Application Description Language,Web应用描述语言)。 WADL由Sun公司来主导,同REST类似,WADL是轻量级、易于理解、更易编写。在某些方面,WADL并没有WSDL灵活(没有绑定到SMTP服务),但是但是这对REST来说已经足够了,并且动作更少。

    ==========================================

    http://www.json.org/

    json的一种java实现就是json-lib

    http://json-lib.sourceforge.net/index.html

    json-lib-2.4-jdk15.jar
    commons-lang-2.3.jar
    commons-logging-1.2.jar
    ezmorph-1.0.6.jar
    commons-collections.jar
    commons-beanutils-1.8.0.jar

    将上面的依赖包导入之后,下面是测试类,如果成功输出,就正常

    package com.fgy.java8se;
    
    import net.sf.json.JSONArray;
    
    
    public class ff {
    
        public static void main(String[] args) {
            boolean[] boolArray = new boolean[]{true,false,true};  
            JSONArray jsonArray = JSONArray.fromObject( boolArray );  
            System.out.println( jsonArray );  
        }
    
    }

    ===========================================
    http://www.cnblogs.com/aaronjs/p/3581904.html

    1994年,Gof(Gang of Four)在《Design Patterns: Elements of Reusable Object-Oriented Software》一书中对MVC模式做了深入的解析。

    为什么GOF的23种设计模式里面没有MVC?
    好了,到这里应该来解释为什么MVC不是一种设计模式这个问题了。

    GoF (Gang of Four,四人组, 《Design Patterns: Elements of Reusable Object-Oriented Software》/《设计模式》一书的作者:Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides)并没有把MVC提及为一种设计模式,而是把它当做“一组用于构建用户界面的类集合”。在他们看来,它其实是其它三个经典的设计模式的演变:观察者模式(Observer)(Pub/Sub), 策略模式(Strategy)和组合模式(Composite)。根据MVC在框架中的实现不同可能还会用到工厂模式(Factory)和装饰器(Decorator)模式。



  • 相关阅读:
    WCF和SOA的简介
    .NET 反射应用
    ASP.NET---如何使用web api创建web服务
    获得N位数字字母随机组合
    git的初步使用
    js贪吃蛇
    python多线程
    2013-12-13
    2012-12-12
    2013-12-5
  • 原文地址:https://www.cnblogs.com/createyuan/p/5484538.html
Copyright © 2020-2023  润新知