• 重构25-Introduce Design By Contract checks(契约式设计)

    时间:2024-01-20 21:04:01

    契约式设计(DBC,Design By Contract)定义了方法应该包含输入和输出验证。因此,可以确保所有的工作都是基于可用的数据,并且所有的行为都是可预料的。否则,将返回异常或错误并在方法中进行处理。要了解更多关于DBC的内容,可以访问wikipedia。 在我们的示例中,输入参数很可能为nu...

  • 【BZOJ 3545】【ONTAK 2010】Peaks & 【BZOJ 3551】【ONTAK 2010】Peaks加强版 Kruskal重构树

    时间:2024-01-19 08:26:33

    sunshine的A题我竟然调了一周!!!把循环dfs改成一个dfs就可以,,,我也不知道为什么这样就不会RE,但它却是A了,,,这周我一直在调这个题,总结一下智障错误:1.倍增的范围设成了n而不是n*2-1,,,2.重构树的顶点是n*2-1,而我一开始设成了n,,,3.define里的for3和f...

  • 重构Web Api程序(Api Controller和Entity)

    时间:2024-01-13 16:22:29

    Insus.NET较习惯做法,是在程序完成之后,抽一些少时间对写好的代码重新审视。比如这些天写的Web Api的程序来说,发现有很多值得重构代码。开发ASP.NET MVC程序,与数据相关有关联的一般是在控制器与Entity实体之间。初步重构是把Api控制器OrdersController.cs的程...

  • Node.js 从零开发 web server博客项目[koa2重构博客项目]

    时间:2024-01-12 14:26:02

    web server博客项目Node.js 从零开发 web server博客项目[项目介绍]Node.js 从零开发 web server博客项目[接口]Node.js 从零开发 web server博客项目[数据存储]Node.js 从零开发 web server博客项目[登录]Node.js ...

  • Node.js 从零开发 web server博客项目[express重构博客项目]

    时间:2024-01-12 14:04:36

    web server博客项目Node.js 从零开发 web server博客项目[项目介绍]Node.js 从零开发 web server博客项目[接口]Node.js 从零开发 web server博客项目[数据存储]Node.js 从零开发 web server博客项目[登录]Node.js ...

  • 重构客户注册-基于ActiveMQ实现短信验证码生产者

    时间:2024-01-11 17:19:20

    重构目标:将bos_fore项目中的CustomerAction作为短信消息生产者,将消息发给ActiveMQ,创建一个单独的SMS项目,作为短信息的消费者,从ActiveMQ获取短信消息,调用第三方接口完成短信发送。 CustomerAction完整代码: @ParentPackage("json...

  • ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十二) 代码重构使用反射工厂解耦(一)缓存切换

    时间:2024-01-08 11:56:27

    前言上一篇中,我们用了反射工厂来解除BLL和UI层耦合的问题。当然那是最简单的解决方法,再复杂一点的程序可能思路相同,但是在编程细节中需要考虑的就更多了,比如今天我在重构过程中遇到的问题。也是接下来我要解决的问题,缓存模块。为什么要解决这个问题呢,由于我们有些下载代码运行的小伙伴,发现怎么运行报错,...

  • NET快速信息化系统开发框架 V3.2 ->WinForm部分全部重构为Dev风格界面

    时间:2024-01-07 19:43:30

    RDIFrameowrk.NET V3.2以前的版本WinForm部分使用的界面控件是DotNetBar,界面也是非常的美女,但相比现在市面上用得非常多功能强大的Dev控件还是略显逊色,V3.2版本花了大量功夫对框架全系界面做了升级重构,全面采用Dev风格的控件。界面更加高大上好看。同时主界面支持4...

  • Hybrid框架UI重构之路:六、前端那点事儿(Javascript)

    时间:2024-01-06 15:58:29

    上文回顾 :Hybird框架UI重构之路:五、前端那点事儿(HTML、CSS)这里讲述在开发的过程中,一些JS的关键点。换肤对于终端的换肤,我之前一篇文章有说了我的想法。请查看:http://www.cnblogs.com/lovesong/p/4122262.htmliscroll的问题1.使用i...

  • 【开源】OSharp框架解说系列(2.1):EasyUI的后台界面搭建及极致重构

    时间:2024-01-05 21:21:15

    OSharp是什么?OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现。与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现。依赖注入、ORM、对象映射、日志、缓存等等功能,都只定义了一套最基础最通用的抽象封装,提供了一套统一的A...

  • LOJ.2865.[IOI2018]狼人(Kruskal重构树 主席树)

    时间:2024-01-05 15:30:15

    LOJ洛谷这题不就是Peaks(加强版)或者归程么。。这算是\(IOI2018\)撞上\(NOI2018\)的题了?\(Kruskal\)重构树(具体是所有点按从小到大/从大到小的顺序,依次加入这些点的边),我们可以得到两棵树(和那两题不一样的是这题的权值在点上,不需要新建节点)。对于询问\((S,...

  • ASP.NET MVC5+EF6+EasyUI 后台管理系统(58)-DAL层重构

    时间:2024-01-03 11:22:53

    系列目录前言:这是对本文系统一次重要的革新,很久就想要重构数据访问层了,数据访问层重复代码太多。主要集中增删该查每个模块都有,所以本次是为封装相同接口方法如果你想了解怎么重构普通的接口DAL层请查看第二节点如果你只想了解利用T4链接EF生成代码,可以忽略前两节,之后跳后最后T4模版的使用。(代码在最...

  • 01-QQ 3-最终重构版 Demo示例程序源代码

    时间:2024-01-02 16:43:01

     源代码下载链接:01-QQ 3.zip292.5 KB// QQAppDelegate.hMap////  QQAppDelegate.h//  01-QQ////  Created by apple on 13-12-13.//  Copyright (c) 2013年itcast. All r...

  • 【Java重构系列】重构31式之封装集合

    时间:2023-12-30 15:56:49

    2009年,Sean Chambers在其博客中发表了31 Days of Refactoring: Useful refactoring techniques you have to know系列文章,每天发布一篇,介绍一种重构手段,连续发文31篇,故得名“重构三十一天:你应该掌握的重构手段”。此...

  • 重构改善既有代码设计--重构手法13:Inline Class (将类内联化)

    时间:2023-12-23 21:50:06

    某个类没有做太多事情。将这个类的所有特性搬移到另一个类中,然后移除原类。动机:Inline Class (将类内联化)正好于Extract Class (提炼类)相反。如果一个类不再承担足够责任、不再有单独存在的理由(这通常是因为此前的重构动作移走了这个类的责任),就挑选这个“萎缩类”的最频繁的用户...

  • 【Java重构系列】重构31式之搬移方法

    时间:2023-12-23 16:48:23

    重构第二式:搬移方法 (Refactoring 2: Move Method)毋容置疑,搬移方法(Move Method)应该是最常用的重构手段之一,正因为太常用而且较为简单,以至于很多人并不认为它是一种很有价值的重构,但事实并非如此,在最初的代码诞生之后,有些方法可能会被放在一些不合适的地方,例如...

  • 以.net core重构原有.net framework过程中的一些API变更记录(持续更新)

    时间:2023-12-17 11:21:52

    1)Type.IsGenericType类似属性变更以下是.net framework 4.5中Type抽象类中泛型类型的几个个属性,用于泛型类型的相关信息判断:以下是.net core(netstandard1.5)中Type抽象类中泛型类型的属性:可见Type类型中的IsGenericType(...

  • [重构到模式-Chain of Responsibility Pattern]把Fizz Buzz招式重构到责任链模式

    时间:2023-12-16 12:17:41

    写一段程序从1打印到100,但是遇到3的倍数时打印Fizz,遇到5的倍数时打印Buzz,遇到即是3的倍数同时也是5的倍数时打印FizzBuzz。例如:1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buz

  • Switch重构处理

    时间:2023-12-14 08:45:20

    public class Fun{public void IFNumberid(int flag){ switch (flag) { case : Console.WriteLin...

  • EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器前端重构(五)- webpack + vue-router 开发单页面前端实现按需加载

    时间:2023-12-12 23:19:59

    为了让页面更快完成加载, 第一时间呈现给客户端, 也为了帮助客户端节省流量资源, 我们可以开启 vue-router 提供的按需加载功能, 让客户端打开页面时, 只自动加载必要的资源文件, 当客户端操作页面, 切换功能模块, 触发页面路由变化时, 再去加载相应需要的资源.本系列博客的前面几篇一直在讲...