动态构建应用程序

 

       今年2017年8月进入律所行业,精细化管理和业务流成为现在主要开发方向,目前采用的技术是以数据为核心的ado三层架构的web MVC erp系统开发,我们现将数据访问层改为dapper。它有一下特点:

       1.T-SQL产生的数据模型与业务模型、数据传输模型公用一个,界面需要什么,模型层就加什么。

       2.业务层代码主要调用DAL层,一部分SQL拼接放在业务层。

       3.MVC采用ViewBag做数据传输,最经典的案例是形成动态表单,该功能由三个表组成,通过存储过程驱动数据,所有动态表单数据都保存在这里。

       优点:业务快速扩张,直接调用已建立好的模块实现对应功能。

       缺点:业务层过于厚重,代码耦合严重,检查和修改的时候比较费力。模型与实体合为一个,代码检查和修改严重依赖DAL层SQL语句。

       现有系统的优势在于基于动态表单的扩展迅速。

  劣势在于统计复杂,数据迁移尤其复杂。

对于现有系统开发的难点在于,理清数据与业务关系,对现有系统中每个业务必须达到知根知底,盲人摸象都没办法进行功能开发。

基于以上,我考虑将系统中业务逻辑进行整理,并整理相关SQL语句,将SQL语句存库。通过存储过程的方式动态调用与执行。这里面涉及一下内容:

  1. 动态模型生成与管理。包括SearchDTO,EntityModel。(测试成功)
  2. 动态生成SQL语句并管理。SQL语句采用存储过程实现。(测试成功)
  3. 将以上两个功能存库,建立逻辑关系,对其进行管理和分析。(测试成功)
  4. 动态调用SqlConnection或者Dapper。(测试成功)
  5. 依靠以上功能调用,并建立项目。

开发该功能分为三个阶段:

一、动态构建DAL层并存库管理。

二、动态构建业务并存库管理。

三、建立web项目。

目前实现功能:

  1. 动态模型的建立、赋值和管理。
  2. 根据动态模型生成SQL语句并保存为存储过程。(存储过程能够实现条件动态拼接),构建SQL如下:
    USE [test]
    GO
    /****** Object:  StoredProcedure [dbo].[pr_GetATest]    Script Date: 2017/12/8 15:52:23 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER proc [dbo].[pr_GetATest]
    (
        @ID       int,
        @Name        varchar(200),
        @Code    varchar(200),
        @Number      DECIMAL
    )
    as
    begin
        
           set nocount on;
        
    DECLARE @Param         NVARCHAR(MAX) = N'',@sqlcommand   NVARCHAR(MAX) = N''
    
            SET @sqlcommand ='SELECT ID ,
                                       Name ,
                                       Code ,
                                       Number FROM dbo.ATest where 1=1 '
            
            IF(@ID IS NOT NULL AND @ID!=0)
                SET @sqlcommand = CONCAT(@sqlcommand,' AND ID= @IDS ')
    
            IF(@Name IS NOT NULL AND @Name!='')
                SET @sqlcommand = CONCAT(@sqlcommand,' AND Name= @NameS ')
    
            IF(@Code IS NOT NULL)
                SET @sqlcommand = CONCAT(@sqlcommand,' AND Code=@CodeS ')
    
            IF(@Number IS NOT NULL)
                SET @sqlcommand = CONCAT(@sqlcommand,' AND Number=@NumberS ')
    
            SET @Param= '@IDS        int,
                         @NameS        varchar(200),
                         @CodeS     varchar(200),
                         @NumberS        DECIMAL '
    
    
            PRINT @sqlcommand
            EXEC sp_executesql @sqlcommand,@Param,
                                @IDS        =    @ID  ,  
                                @NameS      =    @Name , 
                                @CodeS      =    @Code  ,
                                @NumberS    =    @Number
            
    END
    View Code

        中午一小时,继续进行中

转载于:https://www.cnblogs.com/coolbader/p/8006720.html

以下是对提供的参考资料的总结,按照要求结构化多个要点分条输出: 4G/5G无线网络优化与网规案例分析: NSA站点下终端掉4G问题:部分用户反馈NSA终端频繁掉4G,主要因终端主动发起SCGfail导致。分析显示,在信号较好的环境下,终端可能因节能、过热保护等原因主动释放连接。解决方案建议终端侧进行分析处理,尝试关闭节电开关等。 RSSI算法识别天馈遮挡:通过计算RSSI平均值及差值识别天馈遮挡,差值大于3dB则认定有遮挡。不同设备分组规则不同,如64T和32T。此方法可有效帮助现场人员识别因环境变化引起的网络问题。 5G 160M组网小区CA不生效:某5G站点开启100M+60M CA功能后,测试发现UE无法正常使用CA功能。问题原因在于CA频点集标识配置错误,修正后测试正常。 5G网络优化与策略: CCE映射方式优化:针对诺基亚站点覆盖农村区域,通过优化CCE资源映射方式(交织、非交织),提升RRC连接建立成功率和无线接通率。非交织方式相比交织方式有显著提升。 5G AAU两扇区组网:与三扇区组网相比,AAU两扇区组网在RSRP、SINR、下载速率和上传速率上表现不同,需根据具体场景选择适合的组网方式。 5G语音解决方案:包括沿用4G语音解决方案、EPS Fallback方案和VoNR方案。不同方案适用于不同的5G组网策略,如NSA和SA,并影响语音连续性和网络覆盖。 4G网络优化与资源利用: 4G室分设备利旧:面对4G网络投资压减与资源需求矛盾,提出利旧多维度调优策略,包括资源整合、统筹调配既有资源,以满足新增需求和提质增效。 宏站RRU设备1托N射灯:针对5G深度覆盖需求,研究使用宏站AAU结合1托N射灯方案,快速便捷地开通5G站点,提升深度覆盖能力。 基站与流程管理: 爱立信LTE基站邻区添加流程:未提供具体内容,但通常涉及邻区规划、参数配置、测试验证等步骤,以确保基站间顺畅切换和覆盖连续性。 网络规划与策略: 新高铁跨海大桥覆盖方案试点:虽未提供详细内容,但可推测涉及高铁跨海大桥区域的4G/5G网络覆盖规划,需考虑信号穿透、移动性管理、网络容量等因素。 总结: 提供的参考资料涵盖了4G/5G无线网络优化、网规案例分析、网络优化策略、资源利用、基站管理等多个方面。 通过具体案例分析,展示了无线网络优化中的常见问题及解决方案,如NSA终端掉4G、RSSI识别天馈遮挡、CA不生效等。 强调了5G网络优化与策略的重要性,包括CCE映射方式优化、5G语音解决方案、AAU扇区组网选择等。 提出了4G网络优化与资源利用的策略,如室分设备利旧、宏站RRU设备1托N射灯等。 基站与流程管理方面,提到了爱立信LTE基站邻区添加流程,但未给出具体细节。 新高铁跨海大桥覆盖方案试点展示了特殊场景下的网络规划需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值