找到 34423 篇文章 相关编程

如何在 C# 中使用属性实现依赖注入?

Nizamuddin Siddiqui
更新于 2020-12-05 06:41:09

1K+ 阅读量

将耦合(依赖)对象注入(转换)到解耦(独立)对象的过程称为依赖注入。依赖注入的类型有四种:构造函数注入、Setter 注入、基于接口的注入、服务定位器注入。Setter 注入Getter 和 Setter 注入通过使用默认的公共属性过程(如 Gettter(get(){}) 和 Setter(set(){}))注入依赖项。示例public interface IService{    string ServiceMethod(); } public class ClaimService:IService{    public string ServiceMethod(){       return "ClaimService is running";    } } public class AdjudicationService:IService{    public string ServiceMethod(){       return "AdjudicationService is running";    } } public class BusinessLogicImplementation{    private IService _client;    public IService Client{   ... 阅读更多

如何在 C# 中实现开闭原则?

Nizamuddin Siddiqui
更新于 2020-12-05 06:39:48

472 阅读量

软件实体(如类、模块和函数)应该对扩展开放,对修改关闭。定义 - 开闭原则指出,代码的设计和编写应以一种方式进行,即新功能应以对现有代码的最小更改来添加。设计应以允许添加新功能作为新类的方式进行,尽可能保持现有代码不变。示例开闭原则之前的代码using System; using System.Net.Mail; namespace SolidPrinciples.Open.Closed.Principle.Before{    public class Rectangle{       public int Width { get; set; }     ... 阅读更多

如何在 C# 中实现单一责任原则?

Nizamuddin Siddiqui
更新于 2020-12-05 06:37:34

300 阅读量

一个类应该只有一个变化的原因。定义 - 在这种情况下,责任被认为是一个变化的原因。该原则指出,如果我们有两个原因要更改一个类,我们必须将功能拆分为两个类。每个类只处理一个责任,如果将来我们需要进行更改,我们将对其进行处理的类进行更改。当我们需要对具有更多责任的类进行更改时,更改可能会影响与该类的其他责任相关的其他函数... 阅读更多

如何在 .NET 中使用 C# 获取格式化的 JSON?

Nizamuddin Siddiqui
更新于 2020-12-05 06:35:03

4K+ 阅读量

使用命名空间 Newtonsoft.Json.Formatting Newtonsoft.Json.Formatting 提供格式化选项来格式化 JsonNone - 没有应用特殊格式。这是默认值。Indented - 使子对象根据 Newtonsoft.Json.JsonTextWriter.Indentation 和 Newtonsoft.Json.JsonTextWriter.IndentChar 设置缩进。示例static void Main(string[] args){    Product product = new Product{       Name = "Apple",       Expiry = new DateTime(2008, 12, 28),       Price = 3.9900M,       Sizes = new[] { "Small", "Medium", "Large" }    };    string json = JsonConvert.SerializeObject(product, Formatting.Indented);    Console.WriteLine(json);    Product deserializedProduct = JsonConvert.DeserializeObject(json);    Console.ReadLine(); } class Product{    public String[] Sizes ... 阅读更多

如何在 C# 中运行多个异步任务并等待它们全部完成?

Nizamuddin Siddiqui
更新于 2020-12-05 06:33:01

3K+ 阅读量

Task.WaitAll 会阻塞当前线程,直到所有其他任务都完成执行。Task.WhenAll 方法用于创建一个任务,该任务仅当所有其他任务都完成时才会完成。在第一个示例中,我们可以看到,当使用 Task.WhenAll 时,任务完成在其他任务完成之前执行。这意味着 Task.WhenAll 不会阻塞执行。在第二个示例中,我们可以看到,当使用 Task.WaitAll 时,任务完成仅在所有其他任务都完成之后才会执行。这意味着 Task.WaitAll 会阻塞执行。示例static void Main(string[] args){   ... 阅读更多

C# Linq 中 All 和 Any 的区别是什么?

Nizamuddin Siddiqui
更新于 2020-12-05 06:30:58

2K+ 阅读量

如果源序列中的至少一个元素与提供的谓词匹配,则 Any() 方法返回 true。否则,它返回 false。另一方面,如果源序列中的每个元素都与提供的谓词匹配,则 All() 方法返回 true。否则,它返回 false示例static void Main(string[] args){    IEnumerable doubles = new List { 1.2, 1.7, 2.5, 2.4 };    bool result = doubles.Any(val => val < 1);    System.Console.WriteLine(result);    IEnumerable doubles1 = new List { 0.8, 1.7, 2.5, 2.4 };    bool result1 = doubles1.Any(val => val < 1);    System.Console.WriteLine(result1);    Console.ReadLine(); }输出False True示例static ... 阅读更多

什么是依赖倒置原则,如何在 C# 中实现?

Nizamuddin Siddiqui
更新于 2020-12-05 06:29:13

698 阅读量

高层模块不应该依赖于低层模块。两者都应该依赖于抽象。抽象不应该依赖于细节。细节应该依赖于抽象。该原则主要关注减少代码模块之间的依赖关系。示例依赖倒置之前的代码using System; namespace SolidPrinciples.Dependency.Invertion.Before{    public class Email{       public string ToAddress { get; set; }       public string Subject { get; set; }       public string Content { get; set; }       public void SendEmail(){          //发送邮件       }    }    public class SMS{       public ... 阅读更多

如何在 Oracle 中显示打开的光标?

Kiran P
更新于 2020-12-05 07:18:26

6K+ 阅读量

问题:您想在 Oracle 中显示打开的光标。解决方案我们可以查询数据字典以确定每个会话打开的光标数量。“V$SESSION”提供的当前打开的光标数量比“V$OPEN_CURSOR”更准确。示例select  a.value  , c.username  , c.machine  , c.sid  , c.serial# from v$sesstat a  , v$statname b  , v$session c where a.statistic# = b.statistic# and c.sid  = a.sid and b.name  = 'opened cursors current' and a.value  != 0 and c.username IS NOT NULL order by 1, 2;OPEN_CURSORS 初始化参数确定会话可以打开的最大光标数。阅读更多

如何在 Oracle 中识别消耗更多资源的 SQL?

Kiran P
更新于 2020-12-05 06:30:12

2K+ 阅读量

问题:您想识别在 Oracle 中消耗更多资源的 SQL 语句。解决方案“V$SQLSTATS”视图显示最近执行的 SQL 语句的性能统计信息。您还可以使用“V$SQL”和“V$SQLAREA”来报告 SQL 资源使用情况。“V$SQLSTATS”速度更快,并且保留信息的时间更长,但仅包含“V$SQL”和“V$SQLAREA”中一部分列。示例select * from( select   sql_text  ,buffer_gets  ,disk_reads  ,sorts  ,cpu_time/1000000 cpu_sec  ,executions  ,rows_processed from v$sqlstats order by cpu_time DESC) where rownum < 20;

如何在 Oracle 中显示 SQL 执行进度以及执行计划?

Kiran P
更新于 2020-12-05 06:23:46

3K+ 阅读量

问题:您想查看 Oracle SQL 在 SQL 执行计划中花费时间的位置。解决方案使用 Oracle 11g 版本,我们可以在 SQL 运行时查看 SQL 执行计划进度。“V$SQL_PLAN_MONITOR”视图包含 SQL 语句执行计划每个步骤的一行。以下 SQL 将有助于查看执行计划以及进度。“V$SQL_PLAN_MONITOR”为您提供了有关使用最多资源的步骤的信息。“V$SQL_PLAN_MONITOR”中的统计信息每秒更新一次。我们还可以生成执行计划中查询进度的实时文本、HTML 甚至 XML 报告... 阅读更多

广告

© . All rights reserved.