- 博客(54)
- 资源 (5)
- 收藏
- 关注
原创 权限系统分析
3、角色配置、角色用户配置【应用id】5、数据分区、用户数据分区【应用id】2、菜单配置、菜单角色【应用id】模块介绍、接口设计、数据库设计。
2023-08-31 15:55:42
187
原创 Azure DevOps Pipelines
通过设置不同的条件触发对应的环境发布,下图为dev分支的构建对应Stage的部署,master分支的构建对应Product的部署。Azure DevOps主要通过管理代码、管理服务器、管理发布的管道来实现一体化解决方案。
2023-04-15 21:56:33
1364
原创 Winform在线升级
winform在线升级要点比较版本下载并解压升级包还原用户配置(可选)升级包文件替换原程序文件重启服务端开发提供对外的服务,以最简单的获取版本和获取升级包为例子 /// <summary> /// GetVersion /// </summary> /// <returns></returns> [HttpGet] public string Ge
2022-05-26 13:54:06
1272
原创 Jenkins使用
Jenkins 使用1、项目配置1.1、General主要是配置一些项目描述、项目发布时需要填写的参数(例如发布的版本或者更新说明)1.2、源码管理配置SVN的地址和账号密码进行代码拉取1.3、构建配置项目的编译和发布指令1.4、构建后操作(可选)针对构建失败发送邮件之类的2、项目发布2.1、选择项目2.2、构建发布3、权限控制3.1、设置角色3.2 分配用户3.3 用户查看效果4、项目回滚成品归档设置历史数量,避免无限归档,导致文件暴增设置参
2022-05-16 16:30:16
275
原创 访问者模式
以下单为例:UML图:代码实现: public interface IPrice { /// <summary> /// 游客价格 /// </summary> /// <param name="user"></param> /// <retu...
2019-07-12 17:02:37
202
原创 解释器模式
以暗号翻译为例:UML图:代码实现: public class Context { public string HandleText { get; set; } } public abstract class BaseTextHandle { protected Dictionary<char, string>...
2019-07-11 19:42:52
189
原创 享元模式
以模拟连接池为例:UML图:代码实现:public abstract class BaseLink { /// <summary> /// 连接Id /// </summary> public string LinkId { get; set; } /// <sum...
2019-07-08 19:56:19
215
原创 中介者模式
以推送消息为例:UML图:代码实现: public abstract class BaseMessager { public string Name { get; set; } public abstract void SendMessage(string message, BaseMessager messageTo); ...
2019-07-08 15:29:55
189
原创 责任链模式
以订单优惠结算金额为例:UML图:代码实现:/// <summary> /// 降价请求 /// </summary> public class CutPriceRequest { public int Count { get; set; } //商品数 public decimal Price...
2019-07-05 18:21:33
220
原创 命令模式
以创建订单为例:UML图:代码实现: public class CreateOrderService { public void CreateOrder() { Console.WriteLine("创建订单"); } } public abstract class BaseCommand...
2019-07-03 09:29:56
199
原创 桥接模式
以自定义迭代器为例:UML图:代码实现:public abstract class BasePhone { private PhoneSystem _phoneSystem = null; public BasePhone(PhoneSystem phoneSystem) { _phoneSystem =...
2019-06-20 14:21:58
180
原创 迭代器模式
以自定义迭代器为例:UML图:代码实现: public interface IMyEnumerator<T> { // // 摘要: // 获取集合中位于枚举数当前位置的元素。 // // 返回结果: // 集合中位于枚举数当前位置的元素。 ...
2019-06-12 15:06:46
166
原创 组合模式
以OA人员管理为例:UML图:代码实现: public abstract class BasePeople { protected string Name { set; get; } public BasePeople(string name) { this.Name = name; }...
2019-06-12 11:34:41
195
原创 备忘录模式
以游戏备份为例:UML图:代码实现:/// <summary> /// 游戏进度 /// </summary> public class GameProgress { /// <summary> /// 角色 /// </summary> p...
2019-06-12 10:13:39
222
原创 适配器模式
以数据保存的帮助类为例:UML图:代码实现: /// <summary> /// 数据访问接口 /// </summary> public interface IDataHelper { void Add<T>(); void Delete<T>(); vo...
2019-06-10 16:14:08
162
原创 状态模式
以订单状态为例【待支付、取消、待发货、待收货、已结束】UML图:代码实现:public abstract class BaseState { /// <summary> /// 订单状态 /// </summary> public OrderStateEnum CurrentState {...
2019-06-10 11:59:03
147
原创 抽象工厂模式
以双数据库的增删改查为例UML图:代码实现: public interface IUser { void Insert(); void Update(); } public class UserAccessServerOperate : IUser { const string dbName = "Acce...
2019-06-05 20:00:03
203
原创 观察者模式
以玩游戏完成主线、副本任务为例UML图:代码实现:public class PlayGame { public delegate void EventHander(); public event EventHander EndNoticeEvent;//声明一个游戏结束通知事件 /// <summary> ...
2019-06-05 09:54:28
173
原创 建造者模式
以装修房子为例UML图:代码实现: /// <summary> /// 装修房子 /// </summary> public abstract class BaseDecorateHouse { protected StructUpdate _StructUpdate = null; protec...
2019-05-31 17:07:55
155
原创 外观模式
以三层架构为例UML图代码实现public class FacadeService { /// <summary> /// 查询学生列表 /// </summary> /// <returns></returns> public List<strin...
2019-05-30 15:26:27
157
原创 模板方法模式
以多种会员下单为例UML图:代码实现: /// <summary> /// 创建订单模板 /// </summary> public abstract class BaseCreateOrder { public abstract bool CheckParameters(decimal price, i...
2019-05-29 12:00:22
182
原创 单例模式
UML图:代码实现:/// <summary> /// 标准单例 /// </summary> public class Singleton { private Singleton() { } static Singleton _singleton = null;...
2019-05-28 16:41:32
120
原创 原型模式
以记录操作日志为例UML图:代码实现:浅克隆&深克隆public class StudentInfo : ICloneable { public int Id { set; get; } public string Name { set; get; } public int Age { set; get; } ...
2019-05-28 16:00:55
164
原创 工厂模式
以支付为例UML图:代码实现: public interface IFactory { /// <summary> /// 创建对象 /// </summary> /// <returns></returns> IPay CreateInterfac...
2019-05-27 18:06:13
148
原创 代理模式
以黄牛买票为例UML图:代码实现:public interface IPayTicket { /// <summary> /// 买票 /// </summary> /// <returns></returns> bool BuyTicket();...
2019-05-17 14:31:52
182
原创 装饰器模式
简易版的AOP实现为例UML图:代码实现:public class BaseService { /// <summary> /// 方法执行 /// </summary> /// <param name="action">需要执行的方法委托</param> ...
2019-05-14 18:14:11
182
原创 策略模式
以销售营销为例UML图:代码实现:public class Context { private BaseSell objBaseSell; public Context(SellType sellType) { this.objBaseSell = CreateSellFactory(sellType)...
2019-05-08 17:24:23
185
原创 简单工厂模式
以支付为例UML图:代码实现:public class FactoryService { /// <summary> /// 创建对象 /// </summary> /// <param name="typeEnum">支付类型</param> //...
2019-05-07 17:20:52
152
原创 log4net日志写入数据库
添加log4net.dll 添加配置(以控制台为例) log4net.config(添加) <?xml version="1.0" encoding="utf-8" ?><log4net debug="false"> <!-- name属性指定其名称,type则是log4net.Appender命名空间的一个类的名称,意思是,指定使用哪种介质--&g...
2019-04-24 19:32:30
1082
原创 单点登录的实现
单点登录一般需要至少两个站、一个登录站、一个接入站(确切的说应该是N个接入站),各个站需要实现的功能如图:简单说明:登录站提供登录页面和退出功能,并提供用户信息的获取服务。接入站需要提供对应的登录成功回写服务,目的是为了存储本地登录信息,可以使用cookie等存储模式。主站代码如下:public class LoginController : Controller { ...
2019-04-23 18:05:35
453
原创 单点登录之间的区别
这边登录大概分三种:普通登录、同域下单点登录、跨域单点登录,区别如图:普通登录——同域下单点登录——跨域单点登录——具体的代码变现见单点登录实现...
2019-04-23 17:42:45
845
原创 Lucene搜索(含高亮)
场景:搜索关键词进行内容搜索,且需要性能要求如图:怎么做到,大概的思路就是就是把整个需要作为搜索的内容,例如文章标题、文章内容,拆解细小碎片化的内容,并建立对应的索引。当搜索的时候,就可以把搜索关键词也进行拆解细小碎片化的内容,去需要对应的索引,以此来关联搜索的内容。大致流程如下:代码封装片段:using Lucene.Net.Analysis;using Lucene.N...
2019-04-18 16:28:03
500
原创 网络爬虫
网络爬虫,主要就是爬取一些其他网站上的数据。原理基本就是先把网页down下来,然后根据正则表达式来对里面的数据进行解析。最后组装成自己需要的数据。【这边使用了第三方组件HtmlAgilityPack(nuget下载)】我们先以中国民航局官网—法律法规的数据抓取为例子,网站地址:http://www.caac.gov.cn封装代码:public class Service ...
2019-04-15 17:50:59
409
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人