20140117-配置文件为什么放在UI层

配置文件为什么放在UI层

(刚才写着代码突然忘了配置文件为什么要放在UI层了,只记得晓虎老师强调过。找了半天视频……)

现总结一下:

  1. 晓虎老师给出的理由,大体如下:比如一个web项目,分成三层,DAL,BLL,Model,UI,Common都写在不同的类库里,编译后,各类库会被编译为.dll文件,编译后的.dll文件会统一放在web项目(UI层)下的bin文件夹下,也就是说,配置文件如果不放在UI层,编译后程序会找不到配置文件。
  2. 项目分三层,DaL、BLL与UI层无关,比如,一个项目有两个端,Form端和Web端,与Form端相关的是App.config,与Web端相关的是Web.config,也就可以这样理解,配置文件与UI层是紧密相关的,顾要放在UI层。(个人总结)

    【也就是说,如果是个生成.exe文件的项目,配置文件放在生成.exe的那层,这种说法也是正确的,不然.exe是找不到配置文件的。】

时间: 2024-10-25 16:17:15

20140117-配置文件为什么放在UI层的相关文章

Winform业务层如何调用UI层的代码

一.背景介绍 最近在做的Winform项目,请求一个接口,接口中有一个参数是通过执行一段JavaScript获取的,所以,每次调用接口都需要执行一段JavaScript.不是每一次调用接口都会成功,所以需要多次调用直到接口调用成功. 二.普通写法 由于执行JavaScript需要CefSharp,业务层不可能引用CefSharp这个组件,所以循环调用接口就要放在UI层,也只能放在UI层.当多个地方调用这个接口的话,就会有很多冗余的代码. 三.通过Func重构 问题的关键就是如何把执行JavaSc

UI层实现

领域驱动设计实践 -- UI层实现 目录 1. User Interface 2. Controller 3.  DTO 4.  infrastructure层的公共组件 5. UI层类图 6. 代码示例 正文 前面几篇blog主要介绍了DDD落地架构及业务建模战术,后续几篇blog会在此基础上,讲解具体的架构实现,通过完整代码demo的形式,更好地将DDD的落地方案呈现出来.本文是架构实现讲解的第一篇,主要介绍了DDD的User Interface层的实现,详细讲解了controller.dt

UI层自动化测试介绍

UI指的是用户可以用肉眼可以看到的页面. UI层自动化测试的原理.不论是web端还是移动端,原理都是一样的,就是基于页面元素的识别和定位来进行模拟用户行为. 首先识别到某个元素,比如一个按钮,然后定义一个动作,比如点击,这样就通过代码模拟完成了一次按钮的点击,代替了人工去点击.如果后期再加入数据驱动和Page Object思想就基本形成了一个UI层自动化测试框架了 UI层自动化测试的适用范围:不建议做大规模的应用,主要几个原因: 1.UI变化频繁,计划根本赶不上变化 2.初期见效太慢 3.前端开

常规功能和模块自定义系统 (cfcmms)—007Extjs的配置文件和自定义ui

常规功能和模块自定义系统 (cfcmms)-007Extjs的配置文件和自定义ui 一.在自动生成的项目中,文件 app.json 是整个前台系统的配置文件,可以在里面增加或修改配置参数来完成相应的功能.该文件的部分参数如下: { "name": "cfcmms", //项目命名空间 "version": "1.0.0.0", //项目版本号 "indexHtmlPath": "index.htm

UI层分页

在客户端进行数据分页 主要通过客户端脚本进行实现 优点:提高网络传输量,提高宽带利用率 缺点:需加编写大量客户端脚本,增加开发与维护成本 1. UpdatePanel控件 优点: 使用ASP.NET AJAX中UpdatePanel控件,可以将应用层提供的分页功能转换到客户端 无需代码维护 充分利用服务器端控件功能 2.DataServices 使用DataServices提供的基于URI的数据访问,可以实现数据分页 在UI层可直接通过javascript进行解析 轻量级数据传输格式:XML/J

项目架构搭建之UI层的搭建

12.项目架构搭建之WebHelper搭建 BLLSessionFactory 实现IBLL层中的IBLLSessionFactory接口 OpaerateContext 定义常用的常量 使用日志助手实例,帮助记录日志 在构造函数中通过反射获取BLLSession实例,获取service层的各个接口 使用单例模式访问OperateContext 13.项目架构搭建之Web搭建 创建MVC Web项目 新建区域 配置路由 当应用程序中使用到区域时,为避免命名空间内的控制器命名冲突,一般需要设置区域

ThinPHP命名空间,连接数据库是要修改的配置文件,Model数据模型层,跨控制器调用,如何获取系统常量信息,

一.命名空间(主要是为了实现自动加载类) *命名空间(相当于虚拟的目录),为了让类有一个统一的文件夹来管理(可以自动加载'类'),每个文件都要有命名空间*tp如何做命名空间:*TP框架下有一个初始命名空间(相当于根目录)ThinkPHP\Libray*在初始命名空间下又包含很多根命名空间,这些根命名空间主要分两类:1.TP核心类里面的根(系统文件)        在Libray下,有几个文件夹就有几个根(所有的文件夹都是根)2.APP里面的根(自定义文件)        APP里面的根是以模块名

Volley内部UI层回调的实现代码

本质还是通过Handler进行更新,只不过内部维护了一个Executor对象,并重写了execute方法,在该方法中调用handler的post方法进行执行. /** * User:lizhangqu([email protected]) * Date:2015-10-23 * Time: 23:13 */ public class HandlerExecutor { /** Used for posting something, typically to the main thread. */

编写可维护的JavaScript-第5章-UI层的松耦合

2.将JavaScript从CSS中抽离 别用CSS表达式(现在也没有了) 3.将CSS从JavaScript中抽离 不要直接使用JS给HTML设置样式,使用className作为CSS和JavaScript的桥梁 4.将JavaScript从HTML中抽离 最好将所有JS全部外置出来 5.将HTML从JavaScript中抽离 从服务器中加载HTML(例如使用jQuery的.load()) 将HTML模版放在HTML文件里面,用注释/Script包起来 使用Handlebar的JavaScri