当前位置:  编程技术>软件工程/软件设计
本页文章导读:
    ▪三层架构+MVC      今天,公司内部举行了分层架构的讲座,虽然自己对此也知道一些,但是一直没有深入了解过,借此机会重新学习下。 先上个根据自己理解画的图,不对之处请斧正 层间关系:单调向下依赖 .........
    ▪【虚拟化实战】网络设计之三PVLAN       作者:范军 (Frank Fan) 新浪微博:@frankfan7   微信:frankfan 架构师有创意的设计方案,有时可以节省大量的硬件成本和后期的维护成本。有些情况下用好PVLAN,可以简.........
    ▪HEVC核心编码技术之二.帧内预测      Overview of the High Efficiency Video Coding(HEVC) Standard之四 Intrapicture Prediction neighboring TBs are used to form the prediction signal. possible prediction directions are shown in Fig. 6. Alternatively, DC prediction (a flat surface with a v.........

[1]三层架构+MVC
    来源: 互联网  发布时间: 2013-11-19

今天,公司内部举行了分层架构的讲座,虽然自己对此也知道一些,但是一直没有深入了解过,借此机会重新学习下。

先上个根据自己理解画的图,不对之处请斧正

层间关系:单调向下依赖


零零碎碎的一些摘录

MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开

M是指数据模型,V是指用户界面,C则是控制器,

V View 视图 视图是用户看到并与之交互的界面。 M Model 模型 模型表示企业数据和业务规则。 C Controller 控制器 接受用户的输入并调用模型和视图去完成用户的需求 BLL Business Logic Layer 业务逻辑层 主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。 USL User Show Layer 表现层 主要表示WEB方式,也可以表示成WINFORM方式。如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。 DAL Data Access Layer 数据访问层 主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。 DAO Data Access Object 数据访问接口
使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。

C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新


框架通常是代码重用

设计模式是设计重用

架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用

设计模式是大智慧,用来对软件设计进行分工;框架模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。


作者:wangxianshou 发表于2013-6-15 15:32:09 原文链接
阅读:92 评论:0 查看评论

    
[2]【虚拟化实战】网络设计之三PVLAN
    来源: 互联网  发布时间: 2013-11-19

作者:范军 (Frank Fan) 新浪微博:@frankfan7   微信:frankfan

架构师有创意的设计方案,有时可以节省大量的硬件成本和后期的维护成本。有些情况下用好PVLAN,可以简化网络管理,而又满足安全隔离的需要。


概念

PVLAN的概念早就在物理网络中就有,vSphere Distributed Switch在hyperviosor层实现了这个概念。

Private  Primary PVLAN5 就是我们传统的VLAN,它自己是primary,在它的下面又分出了很多个Secondary PVLAN。每个seconary PVLAN 都有一个ID。

三种Secondary PVLAN的类型是:

Promiscuous:

属于Promiscuous的虚拟机E和F 可以和同属于一个PrimaryVLAN的任何设备通讯。  Promiscuous的PVLAN  ID 和Primary VLAN ID 是一样的。在上图中都是5

Community:

同属于Community PVLAN的虚拟机A和B之间可以通讯,可是他们不能和除了Promiscuous  PVLAN之外的设备通讯

Isolated:

同属于Isolated  PVLAN的虚拟机C和D之间不可以通讯,可是他们不能和除了Promiscuous PVLAN之外的设备通讯


情景一:

某公司的DMZ内有很多虚拟机和物理设备,担心某个设备被入侵后会危及其他设备。

PVLAN是一个很合适的解决方案。

下图摘自PVLAN– A Widely Underutilized Feature  fromvXpertise.net

VM2和VM3是同一个应用的两个虚拟机。把它们放入Community PVLAN可以保证它们之间的通讯。在物理交换机上也设置好PVLAN,并把相关路由器或者防火墙也接入属于同一个Primary VLAN的PromiscuousPVLAN.   这样VM2和VM3可以和路由器、防火墙通讯,从而可以和DMZ之外的设备通讯。但是它们不可以和同属于DMZ内的VM1通讯。

好处在于一旦VM2或VM3被入侵,不会以此为跳板轻易访问到VM1。另一个好处是每次在该PrimaryVLAN内增加虚拟机,只需在vSphere中设置SecondaryPVLAN ID,无需每次都更改物理交换机的设置。


情景二:

此情景摘自vSpherePrivate VLANs – Dev Environment Use Case fromhttp://virtuallybright.com


某公司需要搭建一个测试环境,希望与实际生产环境的设置一致。这难免需要相对复杂的VLAN隔离。

通过PVLAN方案,在Primary VLAN 70下面分出三个Private VLAN  10,20 和30.  也可

    
[3]HEVC核心编码技术之二.帧内预测
    来源: 互联网  发布时间: 2013-11-19
Overview of the High Efficiency Video Coding(HEVC) Standard之四

G. 帧内预测
Intrapicture Prediction

Fig. 6. Modes and directional orientations for intrapicture prediction.

Intrapicture prediction operates according to the TB size,
and previously decoded boundary samples from spatially
neighboring TBs are used to form the prediction signal.
Directional prediction with 33 different directional orientations
is defined for (square) TB sizes from 4×4 up to 32×32. The
possible prediction directions are shown in Fig. 6. Alternatively,
planar prediction (assuming an amplitude surface with a
horizontal and vertical slope derived from the boundaries) and
DC prediction (a flat surface with a value matching the mean
value of the boundary samples) can also be used. For chroma,
the horizontal, vertical, planar, and DC prediction modes can
be explicitly signaled, or the chroma prediction mode can be
indicated to be the same as the luma prediction mode (and, as a
special case to avoid redundant signaling, when one of the first
four choices is indicated and is the same as the luma prediction
mode, the Intra_Angular[34] mode is applied instead).
帧内预测是以TB尺寸进行操作的;
并且在空域上相邻的前面已解码的边界像素将被用作预测参考信号;
对从4x4到32x32的TB定义了33个不同的预测方向;
所有可能的预测方向如图6中所示;
而且Planar预测和DC预测同样可以使用;
对于色度分量,水平,垂直,planar,DC预测模式可以显示使用;
也可以直接沿用相应的亮度分量的预测模式;

Each CB can be coded by one of several coding types,
depending on the slice type. Similar to H.264/MPEG-4 AVC,
intrapicture predictive coding is supported in all slice types.
HEVC supports various intrapicture predictive coding methods
referred to as Intra_Angular, Intra_Planar, and Intra_DC. The
following subsections present a brief further explanation of
these and several techniques to be applied in common.
依据片类型,每个CB可以使用一个或多个编码类型编码;
和H.264/MPEG-4 AVC一样,帧内预测编码支持所有的片类型;

    
最新技术文章:
▪主-主数据库系统架构    ▪java.lang.UnsupportedClassVersionError: Bad version number i...    ▪eclipse项目出现红色叉叉解决方案
▪Play!framework 项目部署到Tomcat    ▪dedecms如何做中英文网站?    ▪Spring Batch Framework– introduction chapter(上)
▪第三章 AOP 基于@AspectJ的AOP    ▪基于插件的服务集成方式    ▪Online Coding开发模式 (通过在线配置实现一个表...
▪观察者模式(Observer)    ▪工厂模式 - 程序实现(java)    ▪几种web并行化编程实现
▪机器学习理论与实战(二)决策树    ▪Hibernate(四)——全面解析一对多关联映射    ▪我所理解的设计模式(C++实现)——解释器模...
▪利用规则引擎打造轻量级的面向服务编程模式...    ▪google blink的设计计划: Out-of-Progress iframes    ▪FS SIP呼叫的消息线程和状态机线程
▪XML FREESWITCH APPLICATION 实现    ▪Drupal 实战    ▪Blink: Chromium的新渲染引擎
▪(十四)桥接模式详解(都市异能版)    ▪你不知道的Eclipse用法:使用Allocation tracker跟...    ▪Linux内核-进程
▪你不知道的Eclipse用法:使用Metrics 测量复杂度    ▪IT行业为什么没有进度    ▪Exchange Server 2010/2013三种不同的故障转移
▪第二章 IoC Spring自动扫描和管理Bean    ▪CMMI简介    ▪目标检测(Object Detection)原理与实现(六)
▪值班总结(1)——探讨sql语句的执行机制    ▪第二章 IoC Annotation注入    ▪CentOS 6.4下安装Vagrant
▪Java NIO框架Netty1简单发送接受    ▪漫画研发之八:会吃的孩子有奶吃    ▪比较ASP和ASP.NET
▪SPRING中的CONTEXTLOADERLISTENER    ▪在Nginx下对网站进行密码保护    ▪Hibernate从入门到精通(五)一对一单向关联映...
▪.NET领域驱动设计—初尝(三:穿过迷雾走向光...    ▪linux下的块设备驱动(一)    ▪Modem项目工作总结
▪工作流--JBPM简介及开发环境搭建    ▪工作流--JBPM核心服务及表结构    ▪Eclipse:使用JDepend 进行依赖项检查
▪windows下用putty上传文件到远程Linux方法    ▪iBatis和Hibernate的5点区别    ▪基于学习的Indexing算法
▪设计模式11---设计模式之中介者模式(Mediator...    ▪带你走进EJB--JMS编程模型    ▪从抽象谈起(二):观察者模式与回调
▪设计模式09---设计模式之生成器模式(Builder)也...    ▪svn_resin_持续优化中    ▪Bitmap recycle方法与制作Bitmap的内存缓存
▪Hibernate从入门到精通(四)基本映射    ▪设计模式10---设计模式之原型模式(Prototype)    ▪Dreamer 3.0 支持json、xml、文件上传
▪Eclipse:使用PMD预先检测错误    ▪Jspx.net Framework 5.1 发布    ▪从抽象谈起(一):工厂模式与策略模式
▪Eclipse:使用CheckStyle实施编码标准    ▪【论文阅读】《Chain Replication for Supporting High T...    ▪Struts2 Path_路径问题
▪spring 配置文件详解    ▪Struts2第一个工程helloStruts极其基本配置    ▪Python学习入门基础教程(learning Python)--2 Python简...
▪maven springmvc环境配置    ▪基于SCRUM的金融软件开发项目    ▪software quality assurance 常见问题收录
▪Redis集群明细文档    ▪Dreamer 框架 比Struts2 更加灵活    ▪Maven POM入门
▪git 分支篇-----不断更新中    ▪Oracle非主键自增长    ▪php设计模式——UML类图
▪Matlab,Visio等生成的图片的字体嵌入问题解决...    ▪用Darwin和live555实现的直播框架    ▪学习ORM框架—hibernate(二):由hibernate接口谈...
▪(十)装饰器模式详解(与IO不解的情缘)    ▪无锁编程:最简单例子    ▪【虚拟化实战】网络设计之四Teaming
▪OSGi:生命周期层    ▪Javascript/Jquery——简单定时器    ▪java代码 发送GET、POST请求
▪Entity Framework底层操作封装(3)    ▪HttpClient 发送GET、POST请求    ▪使用spring框架,应用启动时,加载数据
▪Linux下Apache网站目录读写权限的设置    ▪单键模式的C++描述    ▪学习ORM框架—hibernate(一):初识hibernate
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3