笔记

本文详细介绍了软件架构中常见的分层设计模式,包括基础设施层、仓储层、数据访问层、业务逻辑层和服务层等,并解释了各层的功能及调用关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IL :基础设施层 Logging , Validation , Exception , Data Access , Cache , File Handler , Email , Up Load,Query , Config配置和Base类可被各层调用

RL :仓储层,是维护数据库的结构和数据储存的.供DAL调用.

DAL : 数据访问层 DAL层不包括业务逻辑.DAL层内不允许水平调用

BLL : 业务逻辑层BLL层内允许水平调用其它的BLL类,
允许垂直向下调用属于自己的DAL类.两种调用方式都是基于接口注入的方式。

SL : 服务层 它负责DTO和Entity之间的转换
SL层内不允许水平调用,只能通过接口调用BLL层,不允许直接调用DAL层.

UI : 界面 通常页面中的Ajax通过JQuery调用APIController来实现
(不是直接调用Controller).


WCF中新添加的DTO更新服务时获取不到,
1.检查服务是否是通的
2.是否在ISL SL层有使用这个DTO


///Lamda表达式New一个List
resultModelList.DTOList =
vresult.DTOList.Select(p => new ProductModelTagModel
{ FID = p.FID, Name = p.Name, ProductInfoID = p.ProductInfoID,
IsDefaultModel = p.IsDefaultModel, Sequence = p.Sequence,
Description = p.Description }).OrderBy(p => p.Sequence).ToList();

 

//身份证正则中间模糊
Regex.Replace(firstIDCard, @"(\d{4})(\d*)(\d{3})", delegate (Match m) { return m.Groups[1].Value + "".PadLeft(m.Groups[2].Value.Length, '*') + m.Groups[3].Value; });

//手机号正则中间模糊
Regex.Replace(MobileNumber, @"(?im)(\d{3})(\d{4})(\d{4})", "$1***$3");


str.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
切割字符串,去除空字符


$('#editorDescription').summernote({
lang: "zh-CN",
height: 100,
callbacks: {
onImageUpload: function (files) {
var num = parseInt(Math.random() * (10 - 1)) + 1;
OSSImagesManage.uploadImages(files[0], $("#FID").val(), num, this);
},
onChange: function () {
var editContent = $('#editorDescription').summernote('code');
$('#Description').val(editContent).change();
}
}, toolbar: [
['fontname', ['fontname']],
['color', ['bold', 'color']],
['para', ['ul', 'ol', 'paragraph']]
]
});


中文URL传值时乱码问题
encodeURI(url); //先转码

var reg = new RegExp("(^|&)" + "name" + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null)
var param = decodeURI(r[2]); //解码
$("#input_demand").val(param);


//UEditor 限制 最大长度
SubmitBid.Editor = UE.getEditor('editorAdvantage', {
wordCount:false
maximumWords:500
});

$('#editorDescription').summernote('code', data.form.Description)

@(new HtmlString(@ViewBag.OperationButton))将Html字符串转为html

@Html.Raw()也可以

 

setTimeout("history.go(-1);", 1000);

data-bind="text:com.fmoney(data.form.SellingPrice,2)"

setTimeout('ProductBiddingDetail.Refresh()', 1000);

Json字符串转换为集合对象
JavaScriptSerializer Serializer = new JavaScriptSerializer();
List<PaymentData> objs = Serializer.Deserialize<List<PaymentData>>(data.PaymentJson);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值