找到 34423 篇文章 相关编程
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{ ... 阅读更多
472 阅读量
软件实体(如类、模块和函数)应该对扩展开放,对修改关闭。定义 - 开闭原则指出,代码的设计和编写应以一种方式进行,即新功能应以对现有代码的最小更改来添加。设计应以允许添加新功能作为新类的方式进行,尽可能保持现有代码不变。示例开闭原则之前的代码using System; using System.Net.Mail; namespace SolidPrinciples.Open.Closed.Principle.Before{ public class Rectangle{ public int Width { get; set; } ... 阅读更多
300 阅读量
一个类应该只有一个变化的原因。定义 - 在这种情况下,责任被认为是一个变化的原因。该原则指出,如果我们有两个原因要更改一个类,我们必须将功能拆分为两个类。每个类只处理一个责任,如果将来我们需要进行更改,我们将对其进行处理的类进行更改。当我们需要对具有更多责任的类进行更改时,更改可能会影响与该类的其他责任相关的其他函数... 阅读更多
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 ... 阅读更多
3K+ 阅读量
Task.WaitAll 会阻塞当前线程,直到所有其他任务都完成执行。Task.WhenAll 方法用于创建一个任务,该任务仅当所有其他任务都完成时才会完成。在第一个示例中,我们可以看到,当使用 Task.WhenAll 时,任务完成在其他任务完成之前执行。这意味着 Task.WhenAll 不会阻塞执行。在第二个示例中,我们可以看到,当使用 Task.WaitAll 时,任务完成仅在所有其他任务都完成之后才会执行。这意味着 Task.WaitAll 会阻塞执行。示例static void Main(string[] args){ ... 阅读更多
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 ... 阅读更多
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 ... 阅读更多
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 初始化参数确定会话可以打开的最大光标数。阅读更多
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;
3K+ 阅读量
问题:您想查看 Oracle SQL 在 SQL 执行计划中花费时间的位置。解决方案使用 Oracle 11g 版本,我们可以在 SQL 运行时查看 SQL 执行计划进度。“V$SQL_PLAN_MONITOR”视图包含 SQL 语句执行计划每个步骤的一行。以下 SQL 将有助于查看执行计划以及进度。“V$SQL_PLAN_MONITOR”为您提供了有关使用最多资源的步骤的信息。“V$SQL_PLAN_MONITOR”中的统计信息每秒更新一次。我们还可以生成执行计划中查询进度的实时文本、HTML 甚至 XML 报告... 阅读更多
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP