.net
2022-01-23
103
一.基础知识准备: 1.层的原则: (1)每一层以接口方式供上层调用。 (2)上层只能调用下层。 (3)依赖分为松散交互和严格交互两种。 2.业务逻辑分类: (1)应用逻辑。 (2)领域逻辑。 3.采用的层: (1)表示层(用户接口层):领域无关。 (2)服务层(应用层):应用逻辑。 (3)业务逻辑层(领域层):领域逻辑。 (4)共享层:提供通用代码。 (5)实现层:提供接口实现。 4.约定: (1)领域层默认采用领域模型 (2)数据访问层默认需要引用领域模型 二.分层架
2022-01-23
66
作为.NET进阶内容的一部分,垃圾回收器(简称GC)是必须了解的内容。本着“通俗易懂”的原则,本文将解释CLR中垃圾回收器的工作原理。基础知识托管堆(Managed Heap)先来看MSDN的解释:初始化新进程时,运行时会为进程保留一个连续的地址空间区域。这个保留的地址空间被称为托管堆。“托管堆也是堆”,为什么这样说呢?这么说是希望大家不要被“术语”迷惑,这个知识点的前提是“值类型和引用类型的区别”。这里假设读者已经知道“值类型存储在栈中,引用类型存储在堆中。(引用类型的引用存储在栈中)”这一重要概念。所
2022-01-23
91
这些年来,微软的 .NET 开发团队不断在更新升级开发工具,这也提供了一个机会,让我们能对 .NET 系列的开发工具做出不断的评估和规范。以下是我们总结出的一些 .NET 开发不可错过的高效工具。 1. Two monitors――必备的。 2. Visual Studio ――同样的,也是必备的。 3. Launchy ――一款免费的必备工具。它能帮助开发者快速调用电脑中的程序快捷方式,而无需再通过传统的“开始”――“所有程序”中寻找所需的程序。在安装后,只需键入 Alt + Space (
2022-01-23
52
本文主要介绍了.Net多线程编程中的误用点分析。具有一定的参考价值,下面跟着小编一起来看下吧1 共享变量问题错误写法:所有的任务可能会共享同一个变量,所以输出结果可能会一样。1234567public static void Error(){ for(int i=0;i<10;i++) { Task.Run(() => { Console.WriteLine("{0}", i)
2022-01-22
69
简介 自.NET 4.5发布已经过了差不多1年了。但是随着最近微软大多数的发布,与.NET开发者交流的问题显示,开发者仅知道一到两个特性,其他的特性仅仅停留在MSDN并以简单的文档形式存在着。 比如说,当你问一个.NET开发者.NET框架内核中有什么新东西的时候,他们中的大多数仅仅会说异步与等待(至少和我交谈的人们仅仅谈到了这些特性)。 另外也很难贯通所有的新特性。因为这些特性可能对于你目前正在开发的工作并不如听上去那么有趣。 所以在这篇文章中我想提及我喜欢的5个在.NET4.5内核中的特性。
2022-01-22
871
选择一款合适的GUI框架是.NET开发中比较重要但又很棘手的问题,因为用户界面相当于一款应用的"门面",直接面向用户。好的UI更能吸引用户,有时甚至成为决定一款应用成败的关键。下面小编整理出十大应用最广泛.NET开源用户界面框架,希望.NET开发人员以后选择GUI框架时不再犯难。 Windows.Forms Windows.Forms是微软的.NET开发框架图形用户界面的一部分,该组件通过将现有的Windows API(Win32 API)封装为托管代码提供了对Windows本地(native)组件的
2022-01-22
630
这篇文章主要为大家详细介绍了.NET Core如何创建一个控制台程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下.NET Core版本:1.0.0-rc2Visual Studio版本:Microsoft Visual Studio Community 2015 Update 2开发及运行平台:Windows 7 专业版 Service Pack 1新增一个控制台项目(ConsoleLogApp)在project.json文件中新增依赖项1234567891011121314151617181920
2022-01-22
274
一、前言 .NET工具链在最新的Preview3版本中,引入了新的MSBuild项目系统,项目文件又回归了.csproj的XML文件来管理,项目文件、包引用、程序集引用、.NET Core工具集、发布内容定义等内容。本文主要将主要讨论如何在新的项目系统中(.csproj)发布可执行文件。我们都知道在之前的版本中,项目文件是通过project.json文件来管理项目和包引用的,那么通过删除 dep