当前位置:  编程技术>软件工程/软件设计
本页文章导读:
    ▪mni2440烧写裸机程序(Uboot下载)      6.1 进入Uboot命令行 6.2 使用tftp下载.bin文件 6.2.1 设置开发板 printenv setenv ipaddr192.168.1.100    // 开发板IP setenv serverip192.168.1.101   //Windows IP setenv gatewayip192.168.1.1    // .........
    ▪appfuse2.2.1搭建并运行,以及碰到的一些列问题记录      为了搭这个项目,花了很多时间,包括软件的版本问题以及本地环境的关系。最终完成了,做一次记录。 1、执行appfuse的mvn命令,生成项目骨架 2、执行 mvn appfuse:full-source  获取项目全部.........
    ▪三层架构-理论篇      一、概念        设想我们去餐厅吃饭,我们刚坐下来,就会有服务员过来为我们服务。服务员记下我们点的菜,然后将菜单传给厨房的大厨。大厨拿出后勤人员事先买好.........

[1]mni2440烧写裸机程序(Uboot下载)
    来源: 互联网  发布时间: 2013-11-19

6.1 进入Uboot命令行

6.2 使用tftp下载.bin文件

6.2.1 设置开发板

printenv

setenv ipaddr192.168.1.100    // 开发板IP

setenv serverip192.168.1.101   //Windows IP

setenv gatewayip192.168.1.1    // 网关

saveenv

6.2.2 把uImage放到tftpboot目录下,自动加载

烧写XX.bin到nand Flash

将XX.bin拷贝至/tftpboot/

在SecureCRT中依次输入:

SMDK2440A>tftp 0x30000000 XX.bin

SMDK2440A>nand erase0x0000 0x40000

SMDK2440A>nand write0x30000000 0x00000 0x400000

  6.3 重启开发板

作者:z251941074 发表于2013-5-12 13:19:48 原文链接
阅读:36 评论:0 查看评论

    
[2]appfuse2.2.1搭建并运行,以及碰到的一些列问题记录
    来源: 互联网  发布时间: 2013-11-19

为了搭这个项目,花了很多时间,包括软件的版本问题以及本地环境的关系。最终完成了,做一次记录。


1、执行appfuse的mvn命令,生成项目骨架
2、执行 mvn appfuse:full-source  获取项目全部源码
3、在pom.xml所在的目录运行命令:mvn eclipse:clean eclipse:eclipse(这个命令的作用就是根据pom.xml里的设置生成一个java project,主要是设置jars引用)
4、在Eclipse中点击File——Import——Existing Project into Workspace,把这个当做一个普通项目导入进来
5、修改Project Facets属性,让其成为Java Web项目。
6、修改Deployment Assembly属性   like this


7、mvn clean   mvn -Dmaven.test.skip=true install

8、部署到Tomcat7 运行~


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

问题记录

1、软件版本问题:

appfuse2.2.1版本 支持的Tomcat是7,而本地的Tomcat一直用的是6,所以部署起来一直出问题,报错的信息都是什么servlet-api.jar问题之类的,就是跟Tomcat_HOME/lib下自带的jar包冲突问题。

maven版本最好是2.2.1

暂时还没有遇到因为JDK版本而引起的问题。


2、mvn appfuse:full-source后显示build successful之后不能立刻导入到Eclipse中,要mvn eclipse:clean eclipse:eclipse 后,用Eclipse像导入普通项目的方式导入。


作者:abbyhoney 发表于2013-5-12 14:43:53 原文链接
阅读:82 评论:0 查看评论

    
[3]三层架构-理论篇
    来源: 互联网  发布时间: 2013-11-19
一、概念

       设想我们去餐厅吃饭,我们刚坐下来,就会有服务员过来为我们服务。服务员记下我们点的菜,然后将菜单传给厨房的大厨。大厨拿出后勤人员事先买好准备好的菜开始烹制,然后交给服务员端出来让我们享用。其实这个餐厅的饮食服 务业务可以分解为三个部分来完成,每一部分各司其职。

服务员只管接待顾客、向厨师传递顾客的需求;

厨师只管烹炒不同口味、不同特色的美食;

后勤工作人员只管提供美食原料。他们三者分工合作共同为顾客提供满意的服务。

        在餐厅里 为顾客提供服务期间,服务员、厨师、后勤工作人员,三者中任何一个人员发生 变化时(例如请假或辞职)都不会影响其他俩者的正常工作,只对变化者进行重 新调整即可正常营业。

 

1、表现层(UI  User Interface):通俗讲就是展现给用户的界面,即用户在使用一个系统 的时候他的所见所得。位于系统的最外层(最上层),离用户最近。用于显示数据和接收用户 输入的数据,只提供软件系统与用户交互的接口界面(前提: 用户至上,兼顾简洁)。

2、业务逻辑层(BLL Business  Logic Layer):针对具体问题的操作,也可以说是对数据层的操 作,对数据业务逻辑处理。

从DAL中获取数据,以供UI显示用

从UI中获取用户指令和数据,执行业务逻辑

从UI中获取用户指令和数据,通过DAL写入数据源

 机制:

UI->BLL->UI(BLL自己处理的情况)

UI->BLL->DAL->BLL->UI(不能自己处理的)

3、数据访问层(DAL Data  Access):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找(不只可以访问数据库,还可访问XML;只要独立存在的访问介质即可访问数据库以外的数据源)。

4、实体层(Model):倾向于业务逻辑层(三层),用来封装数据,三层间传送数据,不知道各个层次,独立于三个层次,Model不引用各层次,但三个层都会引用Model。


          分层是表示将功能进行有序的分组:应用程序专用功能位于上层,跨越应用程序领域的功能位于中层,而配置环境专用功能位于低层。分层从逻辑上将子系统划分成许多集合,而层间关系的形成要遵循一定的规则。通过分层,可以限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。子系统的分组标准包含以下几条规则可见度。各子系统只能与同一层及其下一层的子系统存在依赖关系.


二、为什么用

       分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准 定义。

        一个好的分层式结构,可以使得开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。例如 UI 人员只需 考虑用户界面的体验与操作,领域的设计人员可以仅关注业务逻辑的设计,而数据库设计人员也不必为繁琐的用户交互而头疼了。每个开发人员的任务得到了确认,开发进度 就可以迅速的提高。

       松散耦合:各层都比较独立。每个功能模块一旦定义好统一的接口,就可以被各个模块所调用,而不用为相同的功能进行重复地开发。

 例子:

  1、如果现在用的系统是 SQL SERVER 数据库,由于各种原因要更改用 ORACLE。如果不是三层结构系统的话,可能需要改很多代码,延长了开发周期。现在使用了三层结构,只要在加一个 Oracle 的数据访问层。这样就可以实现多数据库了。

2、现在可能要做另外一个系统了,该系统也要对数据库进行操作。如果以前编写过,这样的一个数据层。只要把以前写的那个数据层拷贝过来就可以了。实现代码复用。从 而减短了软件的开发周期了。

三、优缺点 

优点:

1、开发人员可以只关注整个结构中的其中某一层;

2、可以很容易的用新的实现来替换原有层次的实现;

3、可以降低层与层之间的依赖;

4、有利于标准化;

5、利于各层逻辑的复用。

6、扩展性强。不同层负责不同的层面,如PetShop可经过简单的配置实现Sqlserver和oracle之间的转换,当然写好了也可以实现B/S与C/S之间的转换

7、安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。

8、项目结构更清楚,分工更明确,有利于后期的维护和升级

缺点:

1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码

3、增加了代码量,增加了工作量  

四、注意事项

    1.设计时应该从 BLL 出发, 而不是 UI 出发. UI 层只能作为一个外壳,  不能包含任何 逻辑 的处理过程 。

    2.实体层在各个层之间传递数据。

    3.需要在UI层绑定到列表的数据采用基于关系的DataSet传递,除此之外,应该使用Entity object传递数据。

    4.对于每一个数据库表(Table)都有一个DBEntity class与之对应,针对每一个Entity class都会有一个BEM Class与之对应。

    5.UI层和BL层禁止出现任何SQL语句。

  

 

 

 

 


作者:gxq741718618 发表于2013-5-11 21:22:12 原文链接
阅读:17 评论:0 查看评论

    
最新技术文章:
▪主-主数据库系统架构    ▪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