7 enlyhua

尚未进行身份认证

暂无相关简介

等级
TA的排名 1k+

9.企业应用架构模式 --- 领域逻辑模式

1.2.

2019-12-10 13:38:36

8.企业应用架构模式 --- 通盘考虑

极限编程,持续集成,测试驱动开发,重构。1.从领域层开始 三种模式最简单的是事务脚本模式。比较符合大多数人的习惯。它将每种系统事务的逻辑很好的封装在功能完善的脚本中,而且比较适合于在关系数据库之上构建。 它的主要问题是对复杂业务逻辑的支持不够,尤其是不善于处理重复代码。 最复杂的是领域模型模式。缺点是难以学会使用领域模型。第二个缺点就是它与数据库的连接。 表模块模式是这2...

2019-12-09 14:05:27

7.企业应用架构模式 --- 分布策略

2.远程接口和本地接口 进程内的调用非常快。两个独立的进程间的过程调用就慢了一个数量级。在不同机器间运行的过程又要慢一两个数量级,取决于网络拓扑。 因此,需要远程使用的对象接口应该与就在同一个进程内本地使用的对象接口有所区别。 本地接口最好是细粒度接口。比如,如果一个地址类,则一个好的接口将会有单独的方法,分别用于得到城市,得到州,设置城市,设置州等。 细粒度接口非常好,因为它符合一般...

2019-12-09 12:07:32

6.企业应用架构模式 --- 会话状态

1.无状态的价值 无状态服务器意味着什么?对对象来说,它们结合了状态(数据)和行为。一个真正无状态的对象是没有成员变量的。 然而,这不是人们在分布式企业应用中所指的无状态。分布式企业应用中的无状态服务器是指在各次请求之间不保存状态的对象。这样的对象也是可以有成员变量, 但当你调用无状态服务器上的方法时,这些成员变量的值是没有意义的。 举例,如返回一个web页面告诉你一本书的所有信息...

2019-12-06 15:25:10

5.企业应用架构模式 --- 并发

1.并发问题 1.更新丢失 2.不一致读2.执行语境 从与外界交互的角度看,有两个重要的执行预警:请求和会话。 一个请求对应于软件工作的外部环境发出的单个调用,针对这个调用,处理请求的软件会决定是否返回一个应答。在一个请求到来的时候,处理过程大部分是在 服务端进行的,而客户端则假设为在等待响应。 一次会话是客户端和服务器之间一次长时间的交互。它可以只是一个单独的请求,但通常...

2019-12-05 16:53:26

4.企业应用架构模式 --- Web表现层

一个单独的web服务器能够处理很多种类的程序。这些应用程序可以是动态的,把它们放置到适当的目录下就可以加载到服务器。web服务器的工作是:解释请求方的 URL并调用服务器端应用程序来处理这些请求消息。构建web服务器上应用程序的方法主要是有两种:一种是使用脚本,另一种是使用服务器页面。 脚本形式是一个程序,通常,调用函数或方法来处理http的请求调用。如CGI脚本和Java serv...

2019-12-04 14:34:59

8.数据结构 --- 动态存储管理

1.概述 动态存储管理的基本问题是系统如何应用户提出的'请求'分配内存?又如何回收用户不再使用而'释放'的内存,以备新的'请求'产生时重新进行分配。 提出请求的用户可能是进入系统的一个作业,也可能是程序执行过程中的一个动态变量。 分配内存通常有两种做法: 1.系统继续从高地址的空闲块中进行分配,而不会理会已分配给用户的内存是否已空闲,直到分配无法进行时,系统才会回收所有用户不...

2019-12-03 23:01:37

7.数据结构 --- 图

1.图的定义和术语 在图中的数据元素通常称作顶点(Vertex),V是顶点的有穷非空集合;VR是两个顶点之间的关系的集合。若<v,w>属于VR,则<v,w>表示从 v到w的一条弧(Arc),且称v为弧尾或初始点,称w为弧头(Head)或终端点,此时的图称为有向图。若<v,w>属于VR必有<w,v>属于VR,即VR 是对称的,则以无序对(v...

2019-12-01 21:55:40

6.数据结构 --- 树和二叉树

1.树的定义和基本术语 树是n个结点的有限集。在任意一颗非空树中:(1)有且仅有一个特定的根(root)的结点;(2)当n>1时,其余结点可分为m个互补相交的有限集T1,T2...Tm, 其中每一个集合本身又是一棵树,并且称为根的子树。 树的结点包含一个数据元素及若干指向其子树的分支。结点拥有的子树数称为结点的度。度为0的结点称为叶子或终端结点。度不为0的节点称为非终端结点或...

2019-11-30 23:02:46

3.企业应用架构模式 --- 映射到关系数据库

数据源层的作用是与应用需要的基础设施的不同部分进行通信。问题主要是和数据库的会话。1.架构模式 架构模式要解决的问题是驱动领域逻辑访问数据库的方式。 把sql访问从领域逻辑中分离出来,并把它放到独立的类中,是明智之举。有一种方法能很好的组织这些类:让它们以数据库中的表结构为基础,这样,每一个数据库表 对应一个类,这些类为数据表建立了一个入口。 使用入口的方式有2种:1.行数据...

2019-11-28 11:35:01

5.数据结构 --- 数组和广义表

1.数组的定义 和线性表一样,所有的数据元素都必须属于同一数据类型。当n=1,n维数组就退化为定长的线性表。数组一旦被定义,它的维度 和维届就不再改变。2.矩阵的压缩存储 矩阵中有许多值相同的元素或者是零元素。有时为了节省存储空间,对这类矩阵进行压缩存储。所谓的压缩存储是指:为多个值相同的元 只分配一个存储空间;对零元不分配存储空间。 假设值相同的元素或者是零元素在矩阵中的...

2019-11-26 23:55:39

2.企业应用架构模式 --- 组织领域逻辑

组织领域逻辑 领域逻辑的组织可以分为三种主要的模式: 1.事务脚本 2.领域模型 3.表模块 保存领域逻辑最简单的方法是使用事务脚本。简单的说,事务脚本是这样一个过程:从表示层获取输入,进行校验和计算处理,将数据存储到数据库中以及调用其他 系统的操作等。然后,该过程将更多的数据返回给表示层,中间可能要进行大量的计算来组织和整理返回值。基本的组织方式是让每个过程对应用户可能做的一个...

2019-11-26 15:34:25

4.数据结构 --- 串

1.串类型的定义 串(string)是由零个或多个字符组成的有限序列。一般记为 s='a1a2...an' 其中,s是串的名字,用单引号括起来的字符序列就是串的值。2.定长顺序存储表示 类似于线性表的顺序存储结构,用一组地址连续的存储单元存储串值的字符序列。在串的定长顺序存储结构中,按照预定义的大小,为每个定义的串变量分配 一个固定长度的存储区,则可用定长数组来描述: #de...

2019-11-25 23:21:00

1.企业应用架构模式 --- 分层

企业应用架构模式 --- 分层 在这种组织之下,上层使用了下层定义的服务,而下层对上层一无所知。另外,每一层对自己的上一层隐藏其下层的细节。 分层的好处: 1.在无需过多的了解其他层的基础上,可以将某一层作为一个有机整体来理解。 2.可以替换某一层的具体实现,只要前后提供的服务相同即可。 3.可以将层次间的依赖性减到最低 4.分层有利于标准化工作 5.一旦构建好了某一层,就可以用它...

2019-11-25 18:10:28

3.数据结构 --- 栈和队列

从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子集,它们是操作受限的线性表,因此可以 称为限定性的数据结构。1.栈 栈是限定仅在表尾进行插入或删除操作的线性表。因此,对栈来说,表尾端有其特殊的含义,称为栈顶(top),相应的,表头端称为栈底。不含元素的空表 称为空栈。 栈又称为后进先出的线性表(last in first out,LIFO...

2019-11-24 23:59:34

2.数据结构 --- 线性表

线性结构的特点是:在数据元素的非空有限集中,(1)存在唯一的被称作'第一个元素'的数据元素;(2)存在唯一的一个被称作'最后一个'的 数据元素;(3)除第一个之外,集合中的每个数据元素均只有一个前驱;(4)除最后一个之外,集合中的每个元素均只有一个后继。1.线性表的类型定义 一个线性表是n个数据元素的有限序列。在复杂的线性表中,一个数据元素可以由若干个数据项组成,在这种情况下,常把数...

2019-11-24 17:57:11

1.数据结构 --- 绪论

1.什么是数据结构 一般来说,用计算机解决一个具体问题时,大致需要经过以下几个步骤:首先要从具体问题抽象出一个适当的数学模型,然后设计一个解此数学模型的算法,最后 编出程序,进行测试,调整直到得到最终答案。寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言 加以描述。 具体问题 => 数学模型 => 设计算法 =>...

2019-11-23 16:00:26

7.微服务:从设计到部署 --- 重构单体应用为微服务

7.1、微服务重构概述 单体应用转换为微服务的过程是应用现代化的一种形式。这是几十年来开发人员一直在做的事情。因此,在将应用重构为微服务时,有一些想法是可以重用的。 一个不要使用的策略是「爆炸式」重写。就是你将所有的开发工作都集中在从头开始构建新的基于微服务的应用。虽然这听起来很吸引人,但非常危险,有可能会失败。 据 Martin Fowler 讲到:「爆炸式重写的唯一保证就是大爆炸!」...

2019-11-22 18:16:40

6.微服务:从设计到部署 --- 选择部署策略

6.1、动机 部署单体应用意味着运行一个或多个来自单个较大应用的相同副本。你通常会配置 N 个服务器(物理或虚拟),每台服务器上会运行 M 个应用实例。 单体应用的部署并不总是那么简单,但它比部署微服务应用要简单得多。 微服务应用由数十甚至上百个服务组成。服务使用不同的语言和框架编写。每个服务都是一个迷你应用,有自己特定的部署、资源、扩展和监视要求。 例如,你需要根据服务的需求为每个...

2019-11-20 17:42:38

4.算法通关面试 --- 树和图

1.2.1.验证二叉搜索树https://leetcode-cn.com/problems/validate-binary-search-tree/2.二叉搜索树的最近公共祖先https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-sea...

2019-11-19 23:45:10

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。