随笔分类 - .Net Core

摘要: 测试 ASP.NET Core API Controller阅读全文
posted @ 2018-07-20 22:04 solenovex 阅读(625) | 评论 (7) 编辑
摘要: 使用coverlet查看.NET Core应用的测试覆盖率阅读全文
posted @ 2018-07-17 21:48 solenovex 阅读(274) | 评论 (5) 编辑
摘要: 使用 Moq 测试.NET Core 应用 -- 其它阅读全文
posted @ 2018-07-15 09:54 solenovex 阅读(195) | 评论 (2) 编辑
摘要: 使用 Moq 测试.NET Core 应用 -- Mock 行为阅读全文
posted @ 2018-07-14 09:42 solenovex 阅读(216) | 评论 (0) 编辑
摘要: 使用 Moq 测试.NET Core 应用 -- Mock 属性阅读全文
posted @ 2018-07-13 18:32 solenovex 阅读(180) | 评论 (1) 编辑
摘要: 使用 Moq 测试.NET Core 应用 -- Mock 方法阅读全文
posted @ 2018-07-13 10:09 solenovex 阅读(314) | 评论 (0) 编辑
摘要: Identity Server 4 - Hybrid Flow - 使用ABAC, Attribute-based Access Control 来保护MVC客户端和API资源阅读全文
posted @ 2018-07-09 10:30 solenovex 阅读(389) | 评论 (2) 编辑
摘要: 这个系列文章介绍的是Identity Server 4 的 Hybrid Flow, 前两篇文章介绍了如何保护MVC客户端, 本文介绍如何保护API资源. 保护MVC客户端的文章: https://www.cnblogs.com/cgzl/p/9253667.html, https://www.cn阅读全文
posted @ 2018-07-07 13:08 solenovex 阅读(303) | 评论 (2) 编辑
摘要: 前一篇 Identity Server 4 - Hybrid Flow - MVC客户端身份验证: https://www.cnblogs.com/cgzl/p/9253667.html Claims 我不知道怎么样翻译这个词比较好, 所以我一般就不翻译了. 在前一篇文章里, MVC客户端配置身份认阅读全文
posted @ 2018-07-05 15:04 solenovex 阅读(237) | 评论 (2) 编辑
摘要: 预备知识 可能需要看一点点预备知识 OAuth 2.0 不完全简介: https://www.cnblogs.com/cgzl/p/9221488.html OpenID Connect 不完全简介: https://www.cnblogs.com/cgzl/p/9231219.html 回顾一下O阅读全文
posted @ 2018-07-04 21:22 solenovex 阅读(525) | 评论 (19) 编辑
摘要: 本文介绍的比较粗略.阅读全文
posted @ 2018-06-27 14:12 solenovex 阅读(518) | 评论 (6) 编辑
摘要: OAuth 2.0 简介 OAuth有一些定义: OAuth 2.0是一个委托协议, 它可以让那些控制资源的人允许某个应用以代表他们来访问他们控制的资源, 注意是代表这些人, 而不是假冒或模仿这些人. 这个应用从资源的所有者那里获得到授权(Authorization)和access token, 随阅读全文
posted @ 2018-06-25 13:10 solenovex 阅读(1424) | 评论 (16) 编辑
摘要: 这是一篇特简单的文章。。。。阅读全文
posted @ 2018-06-20 10:18 solenovex 阅读(1069) | 评论 (2) 编辑
摘要: RESTful API REST和ASP.NET Core 基础知识 ASP.NET Core基础知识+准备项目代码 建立WEB API - POST和GET 建立WEB API - DELETE, PUT, PATCH 以及 介绍log 翻页, 过滤, 搜索, 排序等实现 实现HATEOAS 缓存阅读全文
posted @ 2018-06-13 16:57 solenovex 阅读(820) | 评论 (1) 编辑
摘要: 本文介绍如何保护API,无需看前边文章也能明白吧。 预备知识: http://www.cnblogs.com/cgzl/p/9010978.html http://www.cnblogs.com/cgzl/p/9019314.html 建立成熟度2级的 API请看这里: https://www.cn阅读全文
posted @ 2018-06-13 10:18 solenovex 阅读(947) | 评论 (6) 编辑
摘要: 本文介绍使用ASP.NET Core 2.1 建立规范的REST API里面的: 缓存和并发,无需看前边文章也能明白吧。阅读全文
posted @ 2018-06-12 09:52 solenovex 阅读(1787) | 评论 (5) 编辑
摘要: 用ASP.NET Core 2.1 建立规范的 REST API -- HATEOAS阅读全文
posted @ 2018-06-09 21:18 solenovex 阅读(798) | 评论 (4) 编辑
摘要: 本文主要介绍一些常见情况的实现,包括:集合更新、翻页、排序、过滤等等。但是仍然是Richardson成熟度为2级的Web API,未达到RESTful API的标准。 本代码已经更新至ASP.NET Core 2.1.阅读全文
posted @ 2018-06-07 11:31 solenovex 阅读(1908) | 评论 (13) 编辑
摘要: 用ASP.NET Core 2.0 建立规范的 RESTful API -- 建立Richardson成熟度2级的DELETE, UPDATE, PATCH 和 Log。 之前一篇文章讲了POST和GET。阅读全文
posted @ 2018-05-29 09:56 solenovex 阅读(1453) | 评论 (8) 编辑
摘要: 本文所需的一些预备知识可以看这里: http://www.cnblogs.com/cgzl/p/9010978.html 和 http://www.cnblogs.com/cgzl/p/9019314.html 本文介绍的是使用ASP.NET Core建立Richardson成熟度为2级的伪REST阅读全文
posted @ 2018-05-23 20:14 solenovex 阅读(2043) | 评论 (15) 编辑
摘要: 上一部分预备知识在这 http://www.cnblogs.com/cgzl/p/9010978.html 如果您对ASP.NET Core很了解的话,可以不看本文, 本文基本都是官方文档的内容。 ASP.NET Core 预备知识 项目配置 假设在项目的根目录有这样一个json文件, 在ASP.N阅读全文
posted @ 2018-05-12 21:12 solenovex 阅读(2440) | 评论 (22) 编辑
摘要: 只有满足了REST 6个原则的系统才可以真正称得上是RESTful的, 其实大部分系统的RESTful API并不是RESTful的阅读全文
posted @ 2018-05-09 16:55 solenovex 阅读(2873) | 评论 (15) 编辑
摘要: 有这么一本Python的书: <<Python 网络数据采集>> 我准备用.NET Core及第三方库实现里面所有的例子. 这是第一部分, 主要使用的是AngleSharp: https://anglesharp.github.io/ (文章的章节书与该书是对应的) 第1章 初见网络爬虫 发送Htt阅读全文
posted @ 2018-04-29 12:45 solenovex 阅读(676) | 评论 (5) 编辑
摘要: 本文的概念性内容来自深入浅出设计模式一书 项目需求 这是一个糖果机的需求图. 它有四种状态, 分别是图中的四个圆圈: No Quarter: 无硬币 Has Quater 有硬币 Gumball Sold 糖果卖出 Out of Gumball 没有糖果了 这个图很像一个状态图. 每个圆圈就是一个状阅读全文
posted @ 2018-04-23 15:24 solenovex 阅读(796) | 评论 (4) 编辑
摘要: 本文的概念性内容来自深入浅出设计模式一书. 本文需结合上一篇文章(使用C# (.NET Core) 实现迭代器设计模式)一起看. 上一篇文章我们研究了多个菜单一起使用的问题. 需求变更 就当我们感觉我们的设计已经足够好的时候, 新的需求来了, 我们不仅要支持多种菜单, 还要支持菜单下可以拥有子菜单.阅读全文
posted @ 2018-04-22 16:01 solenovex 阅读(407) | 评论 (0) 编辑
摘要: 本文的概念来自深入浅出设计模式一书 项目需求 有两个饭店合并了, 它们各自有自己的菜单. 饭店合并之后要保留这两份菜单. 这两个菜单是这样的: 菜单项MenuItem的代码是这样的: 最初我们是这样设计的, 这是第一份菜单: 这是第2份菜单: 同时有两个菜单存在的问题 问题就是多个菜单把事情变复杂了阅读全文
posted @ 2018-04-20 15:25 solenovex 阅读(549) | 评论 (3) 编辑
摘要: 本文的概念内容来自深入浅出设计模式一书. 项目需求 有一家咖啡店, 供应咖啡和茶, 它们的工序如下: 咖啡: 茶: 可以看到咖啡和茶的制作工序是差不多的, 都是有4步, 其中有两步它们两个是一样的, 另外两步虽然具体内容不一样, 但是都做做的同一类工作. 现在问题也有了, 当前的设计两个类里面有很多阅读全文
posted @ 2018-04-17 14:36 solenovex 阅读(792) | 评论 (4) 编辑
摘要: 本文的概念内容来自深入浅出设计模式一书 现实世界中的适配器(模式) 我带着一个国标插头的笔记本电脑, 来到欧洲, 想插入到欧洲标准的墙壁插座里面, 就需要用中间这个电源适配器. 面向对象的适配器 你有个老系统, 现在来了个新供应商的类, 但是它们的接口不同, 如何使用这个新供应商的类呢? 首先, 我阅读全文
posted @ 2018-04-16 16:57 solenovex 阅读(631) | 评论 (1) 编辑
摘要: 本文的概念内容来自深入浅出设计模式一书. 项目需求 有这样一个可编程的新型遥控器, 它有7个可编程插槽, 每个插槽可连接不同的家用电器设备. 每个插槽对应两个按钮: 开, 关(ON, OFF). 此外还有一个全局的取消按钮(UNDO). 现在客户想使用这个遥控器来控制不同厂家的家用电器, 例如电灯,阅读全文
posted @ 2018-04-14 11:54 solenovex 阅读(726) | 评论 (2) 编辑
摘要: 使用 C#/.NET Core 实现单体设计模式阅读全文
posted @ 2018-04-11 12:20 solenovex 阅读(1675) | 评论 (12) 编辑
摘要: 本文的概念性内容来自深入浅出设计模式一书. 上一篇文章讲了简单工厂和工厂方法设计模式 http://www.cnblogs.com/cgzl/p/8760250.html, 使用的是披萨店的例子. 文将继续使用这个例子, 这里要用到抽象工厂. 披萨店的需求变更 现在披萨店在各地授权了很多连锁分店, 阅读全文
posted @ 2018-04-10 13:08 solenovex 阅读(381) | 评论 (1) 编辑
摘要: 用C#(.NET Core) 实现简单工厂(简单工厂不是设计模式)和工厂方法模式阅读全文
posted @ 2018-04-09 18:22 solenovex 阅读(432) | 评论 (3) 编辑
摘要: 上一篇写的是使用静态基类方法的实现步骤: http://www.cnblogs.com/cgzl/p/8726805.html 使用dynamic (ExpandoObject)的好处就是可以动态组建返回类型, 之前使用的是ViewModel, 如果想返回结果的话, 肯定需要把ViewModel所有阅读全文
posted @ 2018-04-08 16:17 solenovex 阅读(733) | 评论 (1) 编辑
摘要: 使用静态基类方案让 ASP.NET Core 实现遵循 HATEOAS Restful Web API. 还有一个动态的方案, 以后再写.阅读全文
posted @ 2018-04-06 10:57 solenovex 阅读(509) | 评论 (2) 编辑
摘要: 之前写了一篇C#装饰模式的文章提到了.NET Core的Stream, 所以这里尽量把Stream介绍全点. (都是书上的内容) .NET Core/.NET的Streams 首先需要知道, System.IO命名空间是低级I/O功能的大本营. Stream的结构 .NET Core里面的Strea阅读全文
posted @ 2018-04-05 16:45 solenovex 阅读(925) | 评论 (2) 编辑
摘要: 官网: http://reactivex.io/ 它支持基本所有的主流语言. 这里我简单介绍一下Rx.NET. 之前我写了几篇关于RxJS的文章, 概念性的东西推荐看这些: http://www.cnblogs.com/cgzl/p/8641738.html http://www.cnblogs.c阅读全文
posted @ 2018-04-04 09:36 solenovex 阅读(708) | 评论 (1) 编辑
摘要: 该文章综合了几本书的内容. 某咖啡店项目的解决方案 某咖啡店供应咖啡, 客户买咖啡的时候可以添加若干调味料, 最后要求算出总价钱. Beverage是所有咖啡饮料的抽象类, 里面的cost方法是抽象的. description变量在每个子类里面都需要设置(表示对咖啡的描述). 每个子类实现cost方阅读全文
posted @ 2018-04-03 14:45 solenovex 阅读(850) | 评论 (5) 编辑
摘要: 观察者模式 这里面综合了几本书的资料. 需求 有这么个项目: 需求是这样的: 一个气象站, 有三个传感器(温度, 湿度, 气压), 有一个WeatherData对象, 它能从气象站获得这三个数据. 还有三种设备, 可以按要求展示气象站的最新数据. WeatherData的结构如下: 有3个get方法阅读全文
posted @ 2018-04-01 21:55 solenovex 阅读(1122) | 评论 (6) 编辑
摘要: 把EFCore使用的数据库连接字符串放在环境变量里, 在Mac系统会遇到问题, 因为bash里的export不支持环境变量名有冒号:阅读全文
posted @ 2018-03-26 19:37 solenovex 阅读(131) | 评论 (0) 编辑
摘要: 从头编写asp.net core 2.0 web api 基础框架 (5) + 使用Identity Server 4建立Authorization Server (7) 可运行前后台源码阅读全文
posted @ 2018-03-17 21:15 solenovex 阅读(1996) | 评论 (12) 编辑
摘要: DIP 依赖反转原则 Dependency Inversion Principle 的定义如下: 高级别的模块不应该依赖于低级别的模块, 他们都应该依赖于抽象. 假设Controller依赖于Repository的实例/实现, 而不是interface: 这个例子里面Controller是高级别模块阅读全文
posted @ 2018-03-16 14:45 solenovex 阅读(491) | 评论 (1) 编辑
摘要: 比较入门级别的介绍... 使用的是dotnet cli 和 VSCode, 我使用Mac和Windows10三台电脑写的文章, 所以里面的命令行截图不太一样.阅读全文
posted @ 2018-03-12 10:32 solenovex 阅读(1809) | 评论 (5) 编辑
摘要: 使用angular 5 和 asp.net core web api 上传文件, 添加验证, 显示进度等. 还有一点Chrome等技巧.阅读全文
posted @ 2018-03-10 16:20 solenovex 阅读(1104) | 评论 (4) 编辑
摘要: 这部分主要介绍了 angular到全局异常处理, 以及会遇到到问题(ErrorHandler里面注入Toastr服务), 涉及到Zone的概念. 后边还介绍了sentry.io这个Logging云服务.阅读全文
posted @ 2018-03-09 21:38 solenovex 阅读(978) | 评论 (0) 编辑
摘要: 这部分主要写了 asp.net core 下使用 entity framework core 进行集合的增删改操作.阅读全文
posted @ 2018-03-09 14:30 solenovex 阅读(709) | 评论 (5) 编辑
摘要: 使用VS Code, 在mac(linux也可以)/win10上面开发一个基于asp.net core 2.0/sql server linux版/angular 5/bootstrap 4的小项目. 这里还用到了docker. 第2篇文章主要介绍了Entity Framework core的集成, 数据库迁移, 建立web api, 使用rest client做测试, 使用viewmodel和automapper, 还有配置angular前台项目, 添angular cli命令, zencoding, 路由, httpclient等. 还有vscode一些快捷操作. 我用的是mac.阅读全文
posted @ 2018-03-01 21:15 solenovex 阅读(925) | 评论 (6) 编辑
摘要: 使用VS Code, 在mac(linux也可以)/win10上面开发一个基于asp.net core 2.0/sql server linux版/angular 5/bootstrap 4的小项目. 这里还用到了docker. 第一篇文章主要介绍了开发环境的搭建, 以及建立和配置asp.net core 2.0 web api项目. 当然只使用vs code. 我用的是mac.阅读全文
posted @ 2018-02-27 22:04 solenovex 阅读(1526) | 评论 (11) 编辑
摘要: 第一部分: https://www.cnblogs.com/cgzl/p/8450179.html 本文是基于Windows10的. Debugging javascript 打开wwwroot/js/site.js, 写一段简单的js代码: 可以设置断点, 但是由于整个项目是用于服务器端的. 而j阅读全文
posted @ 2018-02-17 07:45 solenovex 阅读(1009) | 评论 (4) 编辑
摘要: 使用Visual Studio Code来开发asp.net core项目. 对vscode的使用进行了介绍, 并且包含一些技巧, 例如: 代码段 snippet, zen coding, debugging等等.阅读全文
posted @ 2018-02-16 17:08 solenovex 阅读(1526) | 评论 (3) 编辑
摘要: 数据驱动的测试, xUnit.net的 Data-driven Tests. 使用Data-driven test来减少重复的测试代码, 使用Theory: InlineData, MemberData, 外部数据, 自定义属性标签.阅读全文
posted @ 2018-02-12 14:23 solenovex 阅读(407) | 评论 (2) 编辑
摘要: 第1部分: http://www.cnblogs.com/cgzl/p/8283610.html 第2部分: http://www.cnblogs.com/cgzl/p/8287588.html 请使用这个项目作为练习的开始: https://pan.baidu.com/s/1ggcGkGb 测试的阅读全文
posted @ 2018-02-10 11:24 solenovex 阅读(440) | 评论 (0) 编辑
摘要: 第一部分: http://www.cnblogs.com/cgzl/p/8283610.html Assert Assert做什么?Assert基于代码的返回值、对象的最终状态、事件是否发生等情况来评估测试的结果。Assert的结果可能是Pass或者Fail。如果所有的asserts都pass了,那阅读全文
posted @ 2018-01-16 12:55 solenovex 阅读(495) | 评论 (6) 编辑
摘要: 导读 为什么要编写自动化测试程序(Automated Tests)? 可以频繁的进行测试 可以在任何时间进行测试,也可以按计划定时进行,例如:可以在半夜进行自动测试。 肯定比人工测试要快。 可以更快速的发现错误。 基本上是非常可靠的。 测试代码与生产代码紧密结合。 使得开发团队更具有幸福感! 自动化阅读全文
posted @ 2018-01-14 16:31 solenovex 阅读(710) | 评论 (1) 编辑
摘要: [新添加] 本文对应的源码 (多个flow, clients, 调用python api): https://github.com/solenovex/Identity-Server-4-Python-Hug-Api-Jwks 目前正在使用asp.net core 2.0 (主要是web api)做阅读全文
posted @ 2018-01-11 21:44 solenovex 阅读(748) | 评论 (0) 编辑
摘要: asp.net core 2.0 一些有用有趣的设置. 面向(targeting)不同的.net版本: 打开asp.net core 2.0的项目文件: xxx.csproj, 这部分: TargetFramework就是指向的版本. 也可以指向多个.net版本, 那就使用TargetFramewo阅读全文
posted @ 2018-01-09 20:37 solenovex 阅读(319) | 评论 (0) 编辑
摘要: 预备知识: http://www.cnblogs.com/cgzl/p/7746496.html 第一部分: http://www.cnblogs.com/cgzl/p/7780559.html 第二部分: http://www.cnblogs.com/cgzl/p/7788636.html 第三部阅读全文
posted @ 2017-11-25 10:41 solenovex 阅读(2064) | 评论 (9) 编辑
摘要: 预备知识: http://www.cnblogs.com/cgzl/p/7746496.html 第一部分: http://www.cnblogs.com/cgzl/p/7780559.html 第二部分: http://www.cnblogs.com/cgzl/p/7788636.html 第三部阅读全文
posted @ 2017-11-08 10:58 solenovex 阅读(2323) | 评论 (10) 编辑
摘要: 预备知识: http://www.cnblogs.com/cgzl/p/7746496.html 第一部分: http://www.cnblogs.com/cgzl/p/7780559.html 第二部分: http://www.cnblogs.com/cgzl/p/7788636.html 第三部阅读全文
posted @ 2017-11-07 15:09 solenovex 阅读(2486) | 评论 (24) 编辑
摘要: 预备知识: http://www.cnblogs.com/cgzl/p/7746496.html 第一部分: http://www.cnblogs.com/cgzl/p/7780559.html 第二部分: http://www.cnblogs.com/cgzl/p/7788636.html 上一部阅读全文
posted @ 2017-11-06 16:12 solenovex 阅读(2222) | 评论 (6) 编辑
摘要: 第一部分: http://www.cnblogs.com/cgzl/p/7780559.html 第一部分主要是建立了一个简单的Identity Server. 接下来继续: 建立Web Api项目 如图可以在同一个解决方案下建立一个web api项目: (可选)然后修改webapi的launchS阅读全文
posted @ 2017-11-05 21:24 solenovex 阅读(2605) | 评论 (8) 编辑
摘要: 预备知识: http://www.cnblogs.com/cgzl/p/7746496.html 本文内容基本完全来自于Identity Server 4官方文档: https://identityserver4.readthedocs.io/ 官方文档很详细的. 使用OAuth可以更安全, 这里我阅读全文
posted @ 2017-11-03 22:01 solenovex 阅读(4337) | 评论 (18) 编辑
摘要: 第一部分: http://www.cnblogs.com/cgzl/p/7755801.html 第二部分: http://www.cnblogs.com/cgzl/p/7763397.html 第三部分: http://www.cnblogs.com/cgzl/p/7768147.html 后台代阅读全文
posted @ 2017-11-03 07:19 solenovex 阅读(1456) | 评论 (10) 编辑
摘要: 第一部分: http://www.cnblogs.com/cgzl/p/7755801.html 第二部分: http://www.cnblogs.com/cgzl/p/7763397.html 后台代码: https://github.com/solenovex/asp.net-core-2.0-阅读全文
posted @ 2017-11-02 19:45 solenovex 阅读(1052) | 评论 (3) 编辑
摘要: 上一篇: http://www.cnblogs.com/cgzl/p/7755801.html 完成client.service.ts: 我个人比较喜欢 observable的方式而不是promise. 然后再Client.Component里面, 注入ClientService, 在NgOnIni阅读全文
posted @ 2017-11-01 10:53 solenovex 阅读(1158) | 评论 (0) 编辑
摘要: 这是一篇学习笔记. angular 5 正式版都快出了, 不过主要是性能升级. 我认为angular 4还是很适合企业的, 就像.net一样. 我用的是windows 10 安装工具: git for windows: 官网很慢, 所以找一个镜像站下载: https://github.com/way阅读全文
posted @ 2017-10-31 15:14 solenovex 阅读(2230) | 评论 (11) 编辑
摘要: 我要使用asp.net core 2.0 web api 搭建一个基础框架并立即应用于一个实际的项目中去. 这里需要使用identity server 4 做单点登陆. 下面就简单学习一下相关的预备知识. 基于Token的安全验证体系 这个比较简单, 简单来说就是为了证明我们有访问权限, 我们首先需阅读全文
posted @ 2017-10-28 15:02 solenovex 阅读(3368) | 评论 (9) 编辑
摘要: New 这是一个典型的情况, 我们需要在运行时来实例化一些具体的类. 在需要修改或者扩展的时候我们就需要改这段代码. 一个程序中可能会多次出现类似的代码, 这使得维护和更新非常困难而且容易出错. 通过面向接口的编程, 我们可以把自己从各种变化中隔离出来, 因为如果代码是面向接口的话, 那么通过多态机阅读全文
posted @ 2017-10-18 15:43 solenovex 阅读(438) | 评论 (0) 编辑
摘要: 第1部分:http://www.cnblogs.com/cgzl/p/7637250.html 第2部分:http://www.cnblogs.com/cgzl/p/7640077.html 第3部分:http://www.cnblogs.com/cgzl/p/7652413.html 第4部分:h阅读全文
posted @ 2017-10-16 16:32 solenovex 阅读(3336) | 评论 (15) 编辑
摘要: 第1部分: http://www.cnblogs.com/cgzl/p/7637250.html 第2部分:http://www.cnblogs.com/cgzl/p/7640077.html 第3部分:http://www.cnblogs.com/cgzl/p/7652413.html Githu阅读全文
posted @ 2017-10-13 21:54 solenovex 阅读(3467) | 评论 (11) 编辑
摘要: 第一部分: http://www.cnblogs.com/cgzl/p/7637250.html 第二部分:http://www.cnblogs.com/cgzl/p/7640077.html Github源码地址:https://github.com/solenovex/Building-asp.阅读全文
posted @ 2017-10-12 07:16 solenovex 阅读(7726) | 评论 (18) 编辑
摘要: 上一篇是: http://www.cnblogs.com/cgzl/p/7637250.html Github源码地址是: https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scrat阅读全文
posted @ 2017-10-09 18:23 solenovex 阅读(4520) | 评论 (7) 编辑
摘要: 工具: 1.Visual Studio 2017 V15.3.5+ 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相关知识就不介绍了, 这里主要是从头编写一个asp.net core 2.0 web api的基础框架阅读全文
posted @ 2017-10-08 16:56 solenovex 阅读(9232) | 评论 (39) 编辑
摘要: 需求 做一个咖啡店的订单系统。 买咖啡时,可以要求加入各种调料,如奶,豆浆,摩卡等。咖啡店会根据调料的不同收取不同的费用。订单系统要考虑这些。 初版设计 然后下面就是所有的咖啡....: cost方法将计算出咖啡加上各种调料后的价格。 这种方法太笨了。。。必须换一种。 再版设计 使用实例变量和继承!阅读全文
posted @ 2017-10-04 18:27 solenovex 阅读(213) | 评论 (0) 编辑
摘要: 《深入浅出设计模式》学习笔记第二章 需求: 开发一套气象监测应用,如图: 气象站,目前有三种装置,温度、湿度和气压感应装置。 WeatherData对象追踪气象站的数据,并更新到布告板,布告板(目前是三个:目前状况、气象统计、天气预报)用来显示目前的天气状况给用户。 初步设计 目前的要求: 1.其中阅读全文
posted @ 2017-10-03 20:48 solenovex 阅读(264) | 评论 (0) 编辑