- python3学习笔记:执行精确的小数计算
潼潼夏
问题我们需要对小数进行精确计算,不希望因为浮点数天生的误差而带来影响解决方案使用decimal模块,牺牲一些性能,得到更高的精度。示例如下:fromdecimalimportDecimala=4.2b=2.1c=a+bprint(c)#c=6.300000000000001a2=Decimal('4.2')b2=Decimal('2.1')c2=a2+b2print(c2)#c2=6.3Decim
- 【python3学习笔记】之list的相关操作
_young_for_u_
1、定义list:列表名=[列表内容]列表名=[关于A的表达式forAinB其它判断],最终的list根据A的表达式计算并逐个列出list=[iforiinrange(10)ifi%2==0]#两种方式等价,但列表解析式执行效率更高list1=[]foriinrange(10):ifi%2==0:list1.append(i)2、增加list元素:list.append(obj),小括号内的内容将
- pythonurllib模块-Python3学习笔记(urllib模块的使用)
weixin_37988176
1.urlliburllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,capath=None,cadefault=False,context=None)-url:需要打开的网址-data:Post提交的数据-timeout:设置网站的访问超时时间直接用urllib.request模块的urlopen()获取页面,page的数据格式
- 【python3学习笔记】之字符串格式化符号含义及转义字符含义
_young_for_u_
字符串格式化符号含义符号说明%c格式化字符及其ASCII码%s格式化字符串%d格式化整数%o格式化无符号八进制数%x格式化无符号十六进制数%X格式化无符号十六进制数(大写)%f格式化浮点数字,可指定小数点后的精度%e用科学计数法格式化浮点数%E作用同%e,用科学计数法格式化浮点数%g根据值的大小决定使用%f或%e%G作用同%g,根据值的大小决定使用%f或者%E格式化操作符辅助命令符号说明m.nm是
- Python3学习笔记29——Socket(网络编程)
Darin2017
python基础Socket网络编程
Socket是网络编程的一个抽象概念。通常我们用一个Socket表示”打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可。客户端大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。举个例子,当我们在浏览器中访问新浪时,我们自己的计算机就是客户端,浏览器会主动向新浪的服务器发起连接。如果一切顺利,新浪的服
- Python3学习笔记之-模块(第一篇)
是小先生
python学习笔记python
Python3学习笔记之-模块(第一篇)文章目录目录Python3学习笔记之-模块(第一篇)一、使用模块二、作用域三、安装第三方模块四、模块搜索路径一、使用模块python本身内置了许多模块,安装就能使用,我们编写一个自己的模块试一试:#!/usr/bin/envpython3#-*-coding:utf-8-*-'mymodule'__author__='myname'importsysdeft
- 「Python3学习笔记」读书笔记--float类型
Lovemma
本文为「Python3学习笔记」一书的读书总结。在Python中float类型默认存储双精度浮点数(也就是其他语言中的double),可一表达16到17位浮点数。>>>1/30.3333333333333333>>>0.12345678901234567890.12345678901234568从实现方式上来看,浮点数是以二进制的方式来存储十进制数的近似值。这就可能导致执行的结果与预期不符合,造成
- 「Python3学习笔记」读书笔记—字符串
Lovemma
字符串字面量以成对的单引号(`)、双引号(”),或可跨行的三引号(”””)语法构成,自动合并相邻的字面量。字符串支持转义、八进制、十六进制,或Unicode格式字符。使用单引号还是双引号,并没有什么特殊限制。如果文本内的引用文字使用双引号,那么外面用单引号可避免转义,更易阅读。通常情况下,建议遵循多数编程语言惯例,使用双引号标示。Python3中字符串存储的是Unicode文本,是不可变序列类型。
- Python3学习笔记——第一章:基础入门
福旺旺
Pythonpython
Python3有段时间没摸Python了,浏览了一下菜鸟教程,巩固一下基础吧。Python3学习笔记——第一章:基础入门文章目录Python3一、Python3简介二、Python的安装三、查看Python版本四、第一个Python3程序一、Python3简介讲几个对编程有用的点Python是一种高级编程语言,它具有以下特点:易学易用:Python是开源的,其具有简洁的语法,清晰的语言结构,和相对
- [Python3学习笔记-基础语法] Python3 基础语法
Python小菜鸡
本篇文章详细介绍Python3的基础语法,主要包括编码、标识符、Python保留字、注释、行缩进、多行语句、Number类型、字符串、空行、print打印等。这些是Python最基础的东西,掌握好了才能更好的学习后续的内容。有兴趣共同结伴学习Python的朋友,点击下面的图标加群:编码默认情况下,Python3源码文件以UTF-8编码,所有字符串都是unicode字符串。当然你也可以为源码文件指定
- python3学习笔记-数据结构
谢懵逼
列表和循环列表列表就是一种有序的列表有序的列表随机访问线性访问通过索引访问创建列表普通列表以作坊括号([)开头打开列表,然后写要放入列表的东西,以逗号隔开,以右方括号(])表明列表结束,然后赋给一个变量eghairs=['brown','blond','red']eyse=['brown','blue','green']weights=[1,2,3,4]二维列表在列表中包含列表eg[[1,2,3]
- VIM YouCompleteMe(ycm) 对于Python3第三方库的自动补全【部分解决】
太阳神LoveU
高手的点拨Python项目实战编程语言学习笔记pythonvimmac
VIMYouCompleteMe(ycm)对于Python3第三方库的自动补全【部分解决】Python3学习笔记问题:VIM用YouCompleteMe(ycm)自动补全插件时,只能支持Python3的标准库的自动补全,而不能自动补全第三方库的内容。环境:Mac+VIM8.0+vundle+ycm+python3解决:尝试对Python3第三方库的自动补全进行配置。1)在网上查阅了很多资料,至今未
- python3学习笔记------函数
爽爽ing
这周,我们学习了函数,现在就让我来总结一下知识点吧!def是函数名()函数封装的代码1:def是英文defind的缩写2:函数名称应该能够表达函数封装代码的功能,方便后续的调用3:函数名称的命名应该符合标识符的命名规则^可以由字母、下划线和数字组成^不能以数字开头^不能与关键字重名4:函数可以通过函数名()来调用接下来我们来举个例子吧!
- python3学习笔记第一章(tools工具的安装)
一个人看小丸子
python
python3学习笔记(一)Tools(代码编辑器管理)https://www.jetbrains.com/toolbox-app/download/download-thanks.html?platform=windows修改路径文件默认安装的路径为C盘下,大约200兆左右,这一步移动默认位置直接剪切JetBrains文件夹下的所有文件到D盘或者其他盘符原路径C:\Users\zzsoft\Ap
- Python3学习笔记:清晰理解协程
码途有道
线程和进程在了解协程之前,我们先简单了解一下进程与线程,并发与并行的概念。进程:是资源分配的独立单位。我们可以将其通俗的理解为电脑中运行的程序的实例,例如打开一个浏览器就是启动了一个浏览器进程,打开一个记事本就是启动一个记事本进程。线程:是操作系统调度的基本执行单位。当我们启动了一个浏览器时(即启动了一个浏览器进程),我们可能会做播放视频、下载文件等操作。在浏览器进程中,我们执行的这些操作,我们可
- python3学习笔记--函数
谢懵逼
函数(function)定义函数:def函数名+":"参数多个参数(使用*arg)defprint_two(*args):arg1,arg2=args多个参数(函数名中定义)defprint_two_again(arg1,arg2):单个参数defprint_one(arg1):不传参defprint_none():定义函数的时候应检查调用函数的时候是否使用了函数名函数名是都紧接着(字符括号内是否
- python3学习笔记-变量、数据类型
谢懵逼
变量和字符变量要以字母开头使用round函数可以进行四舍五入字符串和文本‘’和”“都可以用来创建字符,不过一般单引号会用来创建简短的字符‘字符/字符串’+*+‘数字’->复制‘字符/字符串’几个‘数字’格式化字符串{变量}+字符串以f开头:将变量放到{}之中数据类型数据类型种类(6种)Number(数字)True=1False=0数值的除法(/)总是返回一个浮点数,要获取整数使//操作符在混合计算
- Python3学习笔记——列表(二)
equalsYU
对列表元素的操作1、增加元素1.1append()方法append()方法用于将元素添加到列表末尾。countries=['China','Japan','USA']countries.append('Germany')print(countries)输出为:['China','Japan','USA','Germany']1.2insert()方法insert()方法可以在列表的任意位置插入元素
- python3学习笔记1--TypeError: 'dict' object is not callable的解决
x_q_q
python对象
dict()是python的一个函数,但我又将dict自定义为一个python字典,在之后想调用dict()函数是会报出“TypeError:'dict'objectisnotcallable”的错误,只需将之前自定义的变量delete掉即可。del(dict)。
- Python3学习笔记20——collections
Darin2017
python基础collections模块
collections是Python内建的一个集合模块,提供了许多有用的集合类。namedtuple我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成:p=(1,2)但是,看到(1,2)很难看出这个tuple是用来表示一个坐标的。定义一个class又小题大做了,这时,namedtuple就派上了用场:fromcollectionsimportnamedtuplePoint=na
- Python3学习笔记
python
标准数据类型Python3中有六个标准的数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Sets(集合)Dictionary(字典)Number(数字)Python3支持int、float、bool、complex(复数)。在Python3里,只有一种整数类型int,表示为长整型,没有python2中的Long。像大多数语言一样,数值类型的赋值和计算都是很直观
- 「Python3学习笔记」读书笔记—字节数组
Lovemma
生物都是由细胞构成的,但在我们普通人眼中,并不会将鸡、鸭、狗、鸟这些动物当作细胞看待,因为对待事物的角度决定了我们更关心生物的外在形状和行为,而不是它的组织构成。从计算机底层实现来说,所有的数据都是二进制字节序列。但为了更好地表达某个逻辑,计算机科学家们将数据抽象成不同的类型,犹如细胞和动物的关系。在编程语言中,对于字节序列,我们更关心的是它的存储和传输方式;而面向对象时,则着重于它的抽象属性。尽
- python3学习笔记
zzqsmile
久未温习,遂尽忘矣。从头学习python,泪奔!!!基础语法编码#-*-coding:utf-8-*-多行语句Python通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:#!/usr/bin/envpython3#-*-coding:utf-8-*-a=1+\1+\1print(a)#----------------------------输出结果3[Fini
- 廖雪峰Python3学习笔记-IO编程
相关函数
本文是笔者学习廖雪峰Python3教程的笔记,在此感谢廖老师的教程让我们这些初学者能够一步一步的进行下去.如果读者想学习完成的教程,请访问廖雪峰Python3教程,笔记如有侵权,请告知删除...读文件以读文件的方式打开文件的做法是使用Python内置的open()函数,参数为文件名和标识符标识符:r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。rb以二进制格式打开一个文件用于只读
- Python3学习笔记 2
TomQ
查看帮助交互环境中:help(函数名)定义defmy_fun():注:无return语句最终返回None。returnNone同return空函数:defnop():passpass:什么都不做,又如:ifa>b:pass参数类型检查:defmyfun(x):ifnotisinstance(x,(int,float)):raiseTypeError('badoperandtypeformyfun'
- python3学习笔记
爱吃甜粽子
python3学习笔记基础语法编码标识符保留字注释行与缩进同一行显示多条语句输入输出import与from...import结构迭代器变量变量的声明变量的赋值查询变量所指的对象类型删除对象标准数据类型数字(Number)数值运算数学函数三角函数数学常量随机数函数字符串(String)字符串转移符号、格式化、f-string、内建函数等列表(List)python列表函数&方法元组(Tuple)集合
- Python3学习笔记-18(私有方法)
笑笑是一个码农
PythonPython3Python
私有方法__private_method:两个下划线开头,声明该方法为私有方法,只能在类的内部调用,不能在类地外部调用。例:#定义类classMyClass:#定义私有方法def__sum(self,a,b):total=a+bprint('私有方法')returntotal#定义公有方法defadd(self,a,b):total=a+bprint('这是公有方法')returntotal#定义
- python3学习笔记之五——将json数据写入excel表
joey_2018_
python3
#student4.json[{"student_no":1001,"name":"James","score":10,"class":"A-1","rank":1},{"student_no":1002,"name":"Tome","score":91,"class":"A-1","rank":2},{"student_no":1003,"name":"Jane","score":100,"cl
- Python3学习笔记15-迭代器与生成器
weixin_33709590
生成器如果创建一个有很多元素的列表,但是只需要访问前几个元素,后面的元素占着的空间就白白浪费了在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器:generator。要创建一个generator,有很多种方法第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator:L=[x*x
- Python3学习笔记:清晰理解迭代器、生成器以及yield表达式
AlbertLii
Python
前言迭代器、生成器与装饰器是python中非常重要的三个特性。对于迭代器,很多初学者理解起来不是很困难,但是学习生成器与装饰器时可能就会感觉云里雾里。本篇文章会用简洁清晰的方式讲解迭代器与生成器,同时记录一下最近的学习成果。迭代器(Iterator)在介绍迭代器之前,我们需要先简单了解一个概念:可迭代对象(iterable)。可以直接作用于for循环的对象,称之为可迭代对象,例如list、tupl
- java工厂模式
3213213333332132
java抽象工厂
工厂模式有
1、工厂方法
2、抽象工厂方法。
下面我的实现是抽象工厂方法,
给所有具体的产品类定一个通用的接口。
package 工厂模式;
/**
* 航天飞行接口
*
* @Description
* @author FuJianyong
* 2015-7-14下午02:42:05
*/
public interface SpaceF
- nginx频率限制+python测试
ronin47
nginx 频率 python
部分内容参考:http://www.abc3210.com/2013/web_04/82.shtml
首先说一下遇到这个问题是因为网站被攻击,阿里云报警,想到要限制一下访问频率,而不是限制ip(限制ip的方案稍后给出)。nginx连接资源被吃空返回状态码是502,添加本方案限制后返回599,与正常状态码区别开。步骤如下:
- java线程和线程池的使用
dyy_gusi
ThreadPoolthreadRunnabletimer
java线程和线程池
一、创建多线程的方式
java多线程很常见,如何使用多线程,如何创建线程,java中有两种方式,第一种是让自己的类实现Runnable接口,第二种是让自己的类继承Thread类。其实Thread类自己也是实现了Runnable接口。具体使用实例如下:
1、通过实现Runnable接口方式 1 2
- Linux
171815164
linux
ubuntu kernel
http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.1.2-unstable/
安卓sdk代理
mirrors.neusoft.edu.cn 80
输入法和jdk
sudo apt-get install fcitx
su
- Tomcat JDBC Connection Pool
g21121
Connection
Tomcat7 抛弃了以往的DBCP 采用了新的Tomcat Jdbc Pool 作为数据库连接组件,事实上DBCP已经被Hibernate 所抛弃,因为他存在很多问题,诸如:更新缓慢,bug较多,编译问题,代码复杂等等。
Tomcat Jdbc P
- 敲代码的一点想法
永夜-极光
java随笔感想
入门学习java编程已经半年了,一路敲代码下来,现在也才1w+行代码量,也就菜鸟水准吧,但是在整个学习过程中,我一直在想,为什么很多培训老师,网上的文章都是要我们背一些代码?比如学习Arraylist的时候,教师就让我们先参考源代码写一遍,然
- jvm指令集
程序员是怎么炼成的
jvm 指令集
转自:http://blog.csdn.net/hudashi/article/details/7062675#comments
将值推送至栈顶时 const ldc push load指令
const系列
该系列命令主要负责把简单的数值类型送到栈顶。(从常量池或者局部变量push到栈顶时均使用)
0x02 &nbs
- Oracle字符集的查看查询和Oracle字符集的设置修改
aijuans
oracle
本文主要讨论以下几个部分:如何查看查询oracle字符集、 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题。
一、什么是Oracle字符集
Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货
- png在Ie6下透明度处理方法
antonyup_2006
css浏览器FirebugIE
由于之前到深圳现场支撑上线,当时为了解决个控件下载,我机器上的IE8老报个错,不得以把ie8卸载掉,换个Ie6,问题解决了,今天出差回来,用ie6登入另一个正在开发的系统,遇到了Png图片的问题,当然升级到ie8(ie8自带的开发人员工具调试前端页面JS之类的还是比较方便的,和FireBug一样,呵呵),这个问题就解决了,但稍微做了下这个问题的处理。
我们知道PNG是图像文件存储格式,查询资
- 表查询常用命令高级查询方法(二)
百合不是茶
oracle分页查询分组查询联合查询
----------------------------------------------------分组查询 group by having --平均工资和最高工资 select avg(sal)平均工资,max(sal) from emp ; --每个部门的平均工资和最高工资
- uploadify3.1版本参数使用详解
bijian1013
JavaScriptuploadify3.1
使用:
绑定的界面元素<input id='gallery'type='file'/>$("#gallery").uploadify({设置参数,参数如下});
设置的属性:
id: jQuery(this).attr('id'),//绑定的input的ID
langFile: 'http://ww
- 精通Oracle10编程SQL(17)使用ORACLE系统包
bijian1013
oracle数据库plsql
/*
*使用ORACLE系统包
*/
--1.DBMS_OUTPUT
--ENABLE:用于激活过程PUT,PUT_LINE,NEW_LINE,GET_LINE和GET_LINES的调用
--语法:DBMS_OUTPUT.enable(buffer_size in integer default 20000);
--DISABLE:用于禁止对过程PUT,PUT_LINE,NEW
- 【JVM一】JVM垃圾回收日志
bit1129
垃圾回收
将JVM垃圾回收的日志记录下来,对于分析垃圾回收的运行状态,进而调整内存分配(年轻代,老年代,永久代的内存分配)等是很有意义的。JVM与垃圾回收日志相关的参数包括:
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps
-Xloggc
-XX:+PrintGC
通
- Toast使用
白糖_
toast
Android中的Toast是一种简易的消息提示框,toast提示框不能被用户点击,toast会根据用户设置的显示时间后自动消失。
创建Toast
两个方法创建Toast
makeText(Context context, int resId, int duration)
参数:context是toast显示在
- angular.identity
boyitech
AngularJSAngularJS API
angular.identiy 描述: 返回它第一参数的函数. 此函数多用于函数是编程. 使用方法: angular.identity(value); 参数详解: Param Type Details value
*
to be returned. 返回值: 传入的value 实例代码:
<!DOCTYPE HTML>
- java-两整数相除,求循环节
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class CircleDigitsInDivision {
/**
* 题目:求循环节,若整除则返回NULL,否则返回char*指向循环节。先写思路。函数原型:char*get_circle_digits(unsigned k,unsigned j)
- Java 日期 周 年
Chen.H
javaC++cC#
/**
* java日期操作(月末、周末等的日期操作)
*
* @author
*
*/
public class DateUtil {
/** */
/**
* 取得某天相加(减)後的那一天
*
* @param date
* @param num
*
- [高考与专业]欢迎广大高中毕业生加入自动控制与计算机应用专业
comsci
计算机
不知道现在的高校还设置这个宽口径专业没有,自动控制与计算机应用专业,我就是这个专业毕业的,这个专业的课程非常多,既要学习自动控制方面的课程,也要学习计算机专业的课程,对数学也要求比较高.....如果有这个专业,欢迎大家报考...毕业出来之后,就业的途径非常广.....
以后
- 分层查询(Hierarchical Queries)
daizj
oracle递归查询层次查询
Hierarchical Queries
If a table contains hierarchical data, then you can select rows in a hierarchical order using the hierarchical query clause:
hierarchical_query_clause::=
start with condi
- 数据迁移
daysinsun
数据迁移
最近公司在重构一个医疗系统,原来的系统是两个.Net系统,现需要重构到java中。数据库分别为SQL Server和Mysql,现需要将数据库统一为Hana数据库,发现了几个问题,但最后通过努力都解决了。
1、原本通过Hana的数据迁移工具把数据是可以迁移过去的,在MySQl里面的字段为TEXT类型的到Hana里面就存储不了了,最后不得不更改为clob。
2、在数据插入的时候有些字段特别长
- C语言学习二进制的表示示例
dcj3sjt126com
cbasic
进制的表示示例
# include <stdio.h>
int main(void)
{
int i = 0x32C;
printf("i = %d\n", i);
/*
printf的用法
%d表示以十进制输出
%x或%X表示以十六进制的输出
%o表示以八进制输出
*/
return 0;
}
- NsTimer 和 UITableViewCell 之间的控制
dcj3sjt126com
ios
情况是这样的:
一个UITableView, 每个Cell的内容是我自定义的 viewA viewA上面有很多的动画, 我需要添加NSTimer来做动画, 由于TableView的复用机制, 我添加的动画会不断开启, 没有停止, 动画会执行越来越多.
解决办法:
在配置cell的时候开始动画, 然后在cell结束显示的时候停止动画
查找cell结束显示的代理
- MySql中case when then 的使用
fanxiaolong
casewhenthenend
select "主键", "项目编号", "项目名称","项目创建时间", "项目状态","部门名称","创建人"
union
(select
pp.id as "主键",
pp.project_number as &
- Ehcache(01)——简介、基本操作
234390216
cacheehcache简介CacheManagercrud
Ehcache简介
目录
1 CacheManager
1.1 构造方法构建
1.2 静态方法构建
2 Cache
2.1&
- 最容易懂的javascript闭包学习入门
jackyrong
JavaScript
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
下面就是我的学习笔记,对于Javascript初学者应该是很有用的。
一、变量的作用域
要理解闭包,首先必须理解Javascript特殊
- 提升网站转化率的四步优化方案
php教程分享
数据结构PHP数据挖掘Google活动
网站开发完成后,我们在进行网站优化最关键的问题就是如何提高整体的转化率,这也是营销策略里最最重要的方面之一,并且也是网站综合运营实例的结果。文中分享了四大优化策略:调查、研究、优化、评估,这四大策略可以很好地帮助用户设计出高效的优化方案。
PHP开发的网站优化一个网站最关键和棘手的是,如何提高整体的转化率,这是任何营销策略里最重要的方面之一,而提升网站转化率是网站综合运营实力的结果。今天,我就分
- web开发里什么是HTML5的WebSocket?
naruto1990
Webhtml5浏览器socket
当前火起来的HTML5语言里面,很多学者们都还没有完全了解这语言的效果情况,我最喜欢的Web开发技术就是正迅速变得流行的 WebSocket API。WebSocket 提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。让我们看一看6个HTML5教程介绍里 的 WebSocket API:它可用于客户端、服
- Socket初步编程——简单实现群聊
Everyday都不同
socket网络编程初步认识
初次接触到socket网络编程,也参考了网络上众前辈的文章。尝试自己也写了一下,记录下过程吧:
服务端:(接收客户端消息并把它们打印出来)
public class SocketServer {
private List<Socket> socketList = new ArrayList<Socket>();
public s
- 面试:Hashtable与HashMap的区别(结合线程)
toknowme
昨天去了某钱公司面试,面试过程中被问道
Hashtable与HashMap的区别?当时就是回答了一点,Hashtable是线程安全的,HashMap是线程不安全的,说白了,就是Hashtable是的同步的,HashMap不是同步的,需要额外的处理一下。
今天就动手写了一个例子,直接看代码吧
package com.learn.lesson001;
import java
- MVC设计模式的总结
xp9802
设计模式mvc框架IOC
随着Web应用的商业逻辑包含逐渐复杂的公式分析计算、决策支持等,使客户机越
来越不堪重负,因此将系统的商业分离出来。单独形成一部分,这样三层结构产生了。
其中‘层’是逻辑上的划分。
三层体系结构是将整个系统划分为如图2.1所示的结构[3]
(1)表现层(Presentation layer):包含表示代码、用户交互GUI、数据验证。
该层用于向客户端用户提供GUI交互,它允许用户