.NET Core Ecosystem
Application Models
- Web
- Mobile
- Desktop
- Microservices
- Gaming
- Machine Learning
- Cloud
- Internet of Things
| Language | Version |
|---|---|
| C# | |
| Visual Basic | |
| F# | 4.7 |
| Platform | Version | Feature |
|---|---|---|
| .NET Core | 3.0 | (runs anywhere!) Windows, Linux, and macOS |
| .NET Framework | 4.8 | websites, services, and apps on Windows |
| Xamarin/Mono | a .NET for mobile | |
| .NET Standard | The one platform, the shared set of libraries for the above |
Library
- Nuget
Tools
- Visual Studio Marketplace
Learn More
| Training | Progress |
|---|---|
| .NET Core 101 (Youtube) | 3/8 |
Resources
TechNet: Microsoft Documentation For all IT professionals, developers, and end users
MSDN: Microsoft Developer Network Any Developer, Any App, Any Platform
Windows Azure Virtual Machines & Networking
- Build xxxx
- Microsoft Ignite xxxx
- Azure Con xxxx
.NET - 3rd Party Resources
.NET Unit Testing Frameworks
- MsTest
- xUnit
- NUnit
MsTest, NUnit, xUnit are test framework, MsTest is what we using right now, but seems xUnit is more clear and lean.
.NET Mock/Fake Frameworks
- Mock Frameworks & Microsoft Fakes: https://saucelabs.com/blog/mock-frameworks-vs-microsoft-fakes
- Moq:
- NSubstitute
- Official: https://nsubstitute.github.io/
- http://ilkinulas.github.io/programming/unity/2016/02/25/mocking-with-nsubstitute.html
MS Mock framework, MS Fakes, Moq, NSubstitute are mocking and faking frameworks that used for UT, seems NSubstitute is more clean for UT coding.
Code Refactoring
- Design patterns
- Creational patterns
- Structural patterns
- Behavioral patterns
- AntiPatterns
- Software Development AntiPatterns
- Software Architecture AntiPatterns
- Project Management AntiPatterns
- Refactoring
- Code Smells
- Refactoring techniques
- UML
- Introduction
- Introduction to the Case Study
- Modeling Business Systems
- Modeling IT Systems
- Modeling for System Integration
- Refactoring
- Design Patterns
What's .NET Framework
.NET Framework = Java Runtime (Execution Runtime))
C# = Java (Programming Language)
Check Project Source Codes
- Get/download source codes from code repository (from VSTS)
- Restore Nuget Packages
- Right-click solution name
- Click 'Restore Nuget Packages'
- Rebuild
- Right-click solution name
- Click 'Clean Solution'
- Right-click solution name
- Click 'Rebuild Solution'
.NET Framework Versioning
How to: Determine which .NET Framework version project developed on
- Right-click project name
- Click 'Properties' (or Press Alt+Enter)
How to: Determine which .NET Framework versions are installed on the Machine
C# Versions
- C# 6.0 - .NET 4.6, VS 2015
- C# 7.0 - .NET 4.7, VS 2017
- C# 8.0 - in preview
Application Types
- Library
- Class Library
- Console
- Console App
- Desktop
- Windows Forms App
- WPF App (Windows Presentation Foundation) - XAML
- Web
- ASP.NET Web Site - Script block in web page source
- ASP.NET Web Forms - .aspx + .cs
- ASP.NET Web App - .cshtml (Razor) + .cs
- ASP.NET MVC - for dynamic web pages
- ASP.NET Web API - for REST API
Console App
Set Console App Project as StartUp Project
- Right-click project name
- Click 'Set as StartUp Project'
Program Entry
- File: Program.cs
- Method:
static void Main(string[] args)
* args: Console command parameters, e.g. myApp param1, param2, ..., paramN
Exception Handling
try{
// logic
}
catch(Exception ex){
// execute when specific exception/error happends
}
Conditional Statements
- IF, Switch, For, While
https://www.guru99.com/c-sharp-conditional-statements.html
Log Level
- Debug
- Info
- Warn
- Error
- Fatal
API Error Handling
- HTTP 200 + Succeed Flag = Logical Correct
- HTTP 200 + Failed Flag = Logical Incorrect
- HTTP 404/500 (Web Server/Software Error, Authentication Error) = Application Error
- HTTP 505 (Network Not Found) = Network Error
HTTP Method
- HTTP GET (URL only)
- POST (with HTTP body)
- HEAD
- OPTION (query description doc)
- PUT
- DELETE
HTTP Request/Response Model
- Request
- HTTP URL
- HTTP Headers (including cookies)
- HTTP Body
- Response
- HTTP Headers (including return code)
- HTTP Body
JSON (JavaScript Object Notation)
- Serialize: Object(s) -> JSON text/string
- Deserialize: JSON text/string -> Object(s)
Generic Type
public static FunctionName<T>
Variable Types
- Reference Type (Class, ref)
- Pass itself into function, and will be returned back with value changes in function
- Value Type (Structure, basic types e.g. numbers)
- Pass its shadow copy and original variable will not be impact
C# Lambda Expressions
.NET Core Ecosystem的更多相关文章
- [翻译]为你的服务器选择正确的.NET
英文原文 By Daniel Roth ASP.NET 5 is based on the .NET Execution Environment (DNX), which supports runni ...
- 魅力 .NET:从 Mono、.NET Core 说起
前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...
- [转]Writing Custom Middleware in ASP.NET Core 1.0
本文转自:https://www.exceptionnotfound.net/writing-custom-middleware-in-asp-net-core-1-0/ One of the new ...
- .NET:从 Mono、.NET Core 说起
魅力 .NET:从 Mono..NET Core 说起 前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基 ...
- NoSQL生态系统(nosql ecosystem)
Unlike most of the other projects in this book, NoSQL is not a tool, but an ecosystem composed of se ...
- Introducing .NET Core
At connect(), we announced that .NET Core will be entirely released as open source software. I also ...
- Spring Framework Ecosystem – Introduction to Spring Projects
来自于:http://springtutorials.com/spring-ecosystem/ Hello and Welcome to Spring Tutorials Blog! Is it f ...
- 一篇很好的解释了.Net Core, .Net Framework, .Net standard library, Xamarin 之间关系的文章 (转载)
Introducing .NET Standard In my last post, I talked about how we want to make porting to .NET Core e ...
- 魅力 .NET:从 Mono、.NET Core[转]
前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...
随机推荐
- Docker入坑系列(二)
Docker入坑系列(二) 上一篇我们为Docker创造了一个良好的生活环境,这一篇我们就开始让Docker活起来. 安装Docker ok,原文地址在这里. 当然,我只是自己翻译了一下而已- -跟着 ...
- Oracle数据库工程实训笔记
Oracle的配置 一.配置监听和本地服务名配置 分别是 E:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN 下的这两个文件: 监听配 ...
- in memory computing 存内计算是学术圈自娱自乐还是真有价值?
如果单从初衷和预想的价值来看,还是很诱人的.在冯诺依曼体系中,cpu计算和memory存储是分离的,而两者之间的data movement会造成高延迟和高耗能. 关于PIM类似的思想在50年前曾有人提 ...
- C#-使用Newtonsoft.Json实现json字符串与object对象互转
json字符串转object对象: IF004Response processResponse = JsonConvert.DeserializeObject<IF004Response> ...
- WPF启动屏幕SplashScreen
SplashScreen类为WPF应用程序提供启动屏幕. 方法一:设置图片属性 1. 添加启动图片到项目中 2. 设置图片属性的Build Action为SplashScreen 方法二:编写代码 1 ...
- Logstash-CentOS7单机安装测试
目录 环境&准备 安装&启动 简单配置一下,看看效果 Conf配置文件参考 完成 环境&准备 下面所有操作都基于CentOS7 官网下载安装包 logstash下载 如官网打不 ...
- .Net6 设置环境变量
开发过程中经常要发布一个版本到测试服上给测试人员测试,可能需要直接输出错误信息,需要设置环境变量为Development,如果是IIS可以通过设置IIS环境变量,见下面这篇文章 https://blo ...
- 2.4 C++STL deque容器详解
文章目录 2.4.1 引入 2.4.2 代码示例 2.4.3 代码运行结果 2.4.4 具体案例 总结 2.4.1 引入 deque容器类比vector容器来学习. deque为双向开口容器,见下图. ...
- Seata XA 模式示例分析
@ 目录 1 下载示例 2 示例结构 3 业务服务 business-xa 3.1 模块结构 3.2 Controller 层 3.3 Service 层 3.4 stock Feign 客户端 3. ...
- Twist the Permutation 数列的轮换题 Codeforces 776 div3
这是一道比较经典的将数列中的数字轮换的题目,我们先看题干: 题干分析:先浅浅地分析一下题目是要我们干什么,我们会默认有一个已经升序排序地1~n的排列,然后我们会给定一个新排列是在原有排列的基础上进行o ...