.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 本身 ...
随机推荐
- redis面试1-33
目录 1.Redis你比较熟吧,说说它机制为什么快? 2.redis是单线程吗? 3.为什么redis需要把所有数据放到内存中? 4.Redis的回收策略有哪些? 5.MySQL里有2000w数据, ...
- 进程&线程(三):外部子进程subprocess、异步IO、协程、分布式进程
1.外部子进程subprocess python之subprocess模块详解--小白博客 - 夜风2019 - 博客园 python subprocess模块 - lincappu - 博客园 之前 ...
- Chrome:查看用户代理User-Agent
用户代理(User-Agent)是浏览器客户端与服务器交互时的重要信息之一,用于帮助服务器识别请求用户的浏览器类别,以便于网站发送相应的网页数据. 用户代理数据包括:操作系统标识.加密等级标识和浏览器 ...
- linux添加串口权限
通过添加到用户组的方式实现1.由于tty属于"dialout"组别,比如你的用户名是blue, 先命令查看下用户隶属的组别 groups blue 2.如果没有隶属"di ...
- 微信小程序简易富文本
- TP5框架中实现多条件登录
控制器代码 //登录功能 public function login(){ $data = input(); $validate = $this->validate($data,[ 'uname ...
- 浅谈 SOLID 原则
单一职责原则(SRP) 单一职责原则(SRP)表明一个类有且只有一个职责.一个类就像容器一样,它能添加任意数量的属性.方法等.然而,如果你试图让一个类实现太多,很快这个类就会变得笨重.任意小的改变都将 ...
- AutoML论文调研
AutoLearn - Automated Feature Generation and Selection - 2017 ICDM 核心思想: 用特征之间两两回归的方法,发现相关特征的额外信息. 主 ...
- 理解并手写 apply() 函数
apply()函数,在功能上类似于call(),只是传递参数的格式有所不同. dog.eat.call(cat, '鱼', '肉'); dog.eat.apply(cat, ['鱼', '肉']); ...
- 如何构建一个PKM系统
原文链接 这篇文章是个人知识总结相关的第一篇文章,主要目的是为了阐述我们为什么需要一个 PKM 系统,并且简单对自己这几年亲身形成的PKM 系统进行总结. PKM 是什么? PKM 是 Persona ...