随笔分类 -  999-废弃被替代的文章

被覆盖的文章
摘要:1 阅读全文
posted @ 2018-05-05 18:49 Yaopengfei 阅读(478) 评论(0) 推荐(0) 编辑
摘要:一. 背景 我们在日常开发中,可能你会遇到这样的需求:"每个月的3号给用户发信息,提醒用户XXX "、"每天的0点需要统计前一天的考勤记录"、"每个月的1号计算上个月的库存情况"、"定时初始化数据供其它业务使用"、"每隔2分钟轮询查数据库看某业务是否被审核通过,并提示用户" 等等。 以上需求在开发中 阅读全文
posted @ 2018-02-15 22:08 Yaopengfei 阅读(886) 评论(0) 推荐(1) 编辑
摘要:一. 背景 在刚接触开发的头几年里,说实话,根本不考虑多线程的这个问题,貌似那时候脑子里也有没有多线程的这个概念,所有的业务都是一个线程来处理,不考虑性能问题,当然也没有考虑多线程操作一条记录存在的并发问题,后面随着处理的系统业务越来越复杂,多线程再也回避不了了,也就借此机会深入研究了一下.Net中 阅读全文
posted @ 2017-12-18 20:13 Yaopengfei 阅读(2127) 评论(1) 推荐(0) 编辑
摘要:一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模式,ViewState功不可没,通过的控件的拖拽和绑定,很快就可以搭建出来一个Web项目,其开发速度远胜Java、PHP,当年Web项目并不很重 阅读全文
posted @ 2017-11-13 21:53 Yaopengfei 阅读(1152) 评论(1) 推荐(0) 编辑
摘要:一. 谈情怀 从第一次接触开发到现在(2018年),接近五年时间了,最初阶段连接数据库,使用的是【SQL语句+ADO.NET】,那时候,什么存储过程、什么事务 统统不理解,生硬的将SQL语句传入SQLHelper类中,后来知道还要注意SQL注入,引入参数化的方式,现在回想一下,那个阶段简直Low到爆 阅读全文
posted @ 2017-10-11 21:21 Yaopengfei 阅读(1109) 评论(3) 推荐(1) 编辑
摘要:.... 阅读全文
posted @ 2017-09-21 14:41 Yaopengfei 阅读(139) 评论(0) 推荐(0) 编辑
摘要:待写 阅读全文
posted @ 2017-09-14 10:38 Yaopengfei 阅读(339) 评论(0) 推荐(0) 编辑
摘要:一. 综述 查询操作主要从两个方面来说:单表查询和多表查询。 多表查询包括:笛卡尔积、外键约束、内连接查询、外链接查询、自连接查询。 二 . 案例设计 1. 设计产品表(product)。包括:主键id、产品名称(productName)、分类编号(dir_id)、零售价(salePrice)、供应 阅读全文
posted @ 2017-07-16 22:26 Yaopengfei 阅读(493) 评论(0) 推荐(0) 编辑
摘要:1. 数据库操作流程模式 (1). 建立连接(认证身份) (2). 客户端向服务器端发送SQL命令 (3). 服务器端执行SQL,并返回执行的结果 (4). 客户端接收结果(并显示) (5). 断开连接 2. 启动和链接MySQL (1). 启动MySQL服务的两种方式: 方式一:以管理员的身份进入 阅读全文
posted @ 2017-07-11 19:36 Yaopengfei 编辑
摘要:一. 简介 1. 数据库基本概念 (1). 数据库(DataBase:DB):数据库是是按照数据结构来组织、存储和管理数据的仓库。 >存储和管理数据的仓库. (2). 数据库管理系统(Database Management System:DBMS):是专门用于管理数据库的计算机系统软件。数据库管理系 阅读全文
posted @ 2017-07-10 20:10 Yaopengfei 编辑
摘要:1. 单例模式的作用 保证多个进程内,(即使多线程访问)该对象的实例只有一个,而且只会被创建一次。 2. 单例模式什么时候用? 该对象的构造函数非常耗时,实例化一次该对象,需要非常长的时间,这样如果每次都去创建,会消耗很多资源。 3. 单例模式的代价 private static Singleton 阅读全文
posted @ 2017-07-08 22:57 Yaopengfei 阅读(421) 评论(0) 推荐(0) 编辑
摘要:1. 简介 与工厂方法的区别: 工厂方法模式是为了克服简单工厂模式的缺点而设计出来的,简单工厂模式的工厂类随着产品类的增加需要增加额外的代码,而工厂方法模式每个具体工厂类只完成单个实例的创建,所以它具有很好的可扩展性。 但是在现实生活中,一个工厂只创建单个产品这样的例子很少,因为现在的工厂都多元化了 阅读全文
posted @ 2017-07-08 21:57 Yaopengfei 编辑
摘要:1. 简介 工厂方法:符合依赖倒置原则、单一职责、开闭原则。 与简单工厂的区别:简单工厂是在一个工厂里生成多个不同的类,而工厂方法是一个对象对应一个生成工厂,这些工厂都实现了一个共同的接口IFactory,很好的符合了依赖倒置原则、单一职责、开闭原则, 每个工厂只负责创建对象。 2. 核心代码 1 阅读全文
posted @ 2017-07-08 21:50 Yaopengfei 编辑
摘要:1. 简介 严格意义上的说,简单工厂不属于23中设计模式,这里抛砖引玉,引出后面的工厂方法和抽象工厂两种设计模式。 简答工厂违背:单一职责原则、开闭原则、迪米特法则。 2. 核心代码 1 /// <summary> 2 /// 简单工厂类 3 /// </summary> 4 public clas 阅读全文
posted @ 2017-07-08 21:41 Yaopengfei 阅读(436) 评论(0) 推荐(0) 编辑
摘要:1. 线程的异常处理 我们经常会遇到一个场景,开启了多个线程,其中一个线程报错,导致整个程序崩溃。这并不是我们想要的,我需要的结果是,其中一个线程报错,默默的记录下,其它线程正常进行,保证程序整体可以走下来。 解决方案:给函数体加try-catch,只让报错线程异常,其它线程可以正常进行。 运行结果 阅读全文
posted @ 2017-06-25 11:23 Yaopengfei 阅读(406) 评论(8) 推荐(0) 编辑
摘要:1. 方法名前只有async,但是方法中Task实例前没有await关键字,该方法和普通方法没有什么区别,但是会报一个警告。 结果: 2. 用法:方法名前加async,如果方法无返回值,用async Task 代替async void ,await放到Task实例前面,表示执行完Task线程后,方可 阅读全文
posted @ 2017-06-23 20:02 Yaopengfei 阅读(415) 评论(0) 推荐(0) 编辑
摘要:一. Task开启多线程的三种形式 1. 利用TaskFactory下的StartNew方法,向StartNew传递无参数的委托,或者是Action<object>委托。 2. 利用Task.Run()开启多线程,能向其中传递无参数的委托,有参数的可以使用 Task.Run(()=>{ TestTh 阅读全文
posted @ 2017-06-23 20:00 Yaopengfei 阅读(626) 评论(0) 推荐(0) 编辑
摘要:一. Thread多线程 1. 两种使用方式 通过F12查看Thread后,发现有两类构造函数,ParameterizedThreadStart和ThreadStart,其中 ThreadStart:无参无返回值的委托 ParameterizedThreadStart:无返回值,但是有一个objec 阅读全文
posted @ 2017-06-23 19:59 Yaopengfei 阅读(369) 评论(0) 推荐(0) 编辑
摘要:一. BeginInvoke最后两个参数的含义 倒数第二个参数:指该线程执行完毕后的回调函数;倒数第一个参数:可以向回调函数中传递参数。 下面以一段代码说明: 结果: 二. 异步调用的三种书写 在上述代码中,我们发现BeginInvoke中,除了我们介绍的最后两个参数外,还有一个参数,传递进去了na 阅读全文
posted @ 2017-06-20 19:24 Yaopengfei 阅读(560) 评论(0) 推荐(0) 编辑
摘要:一. 综述 经过两个多个周的整理,异步多线程章节终于整理完成,如下图所示,主要从基本概念、委托的异步调用、Thread多线程、ThreadPool多线程、Task、Parallel并行计算、async和await、线程特殊处理、委托赋值的几种形式等九个方面来介绍异步多线程。 二. 基本概念的梳理 1 阅读全文
posted @ 2017-06-17 16:07 Yaopengfei 阅读(418) 评论(0) 推荐(0) 编辑