<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TKDwave520的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/TKDwave520</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TKDwave520]]></copyright><item><title><![CDATA[This text field does not specify an `inputType` or a `hint`]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/63684021</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/63684021</guid><author>TKDwave520</author><pubDate>Sun, 19 Mar 2017 13:39:43 +0800</pubDate><description><![CDATA[安卓界面加入EditText后出现的警告信息
警告位置：




意思是说：EditText控件需要指定一种输入类型用于帮助输入法显示合适的输入键盘，或者当EditText为空时显示的提示信息方便用户输入
而EditText对应的输入类型有：
 //文本类型
    android:inputType="none"
    android:inputType="text"
 ]]></description><category></category></item><item><title><![CDATA[Installation failed with message Failed to establish session(小米手机)]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/63252950</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/63252950</guid><author>TKDwave520</author><pubDate>Sat, 18 Mar 2017 12:59:00 +0800</pubDate><description><![CDATA[AndroidStudio开发，调试安装到小米手机的时候无法继续安装，报错：Installation failed with message Failed to establish session




解决办法：关闭【开发者选项】下的【启用MIUI优化】


即：将下图中标红的位置的启用关闭掉即可]]></description><category></category></item><item><title><![CDATA[什么是依赖注入？]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/53046135</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/53046135</guid><author>TKDwave520</author><pubDate>Sat, 05 Nov 2016 16:39:04 +0800</pubDate><description><![CDATA[原文链接：http://www.cnblogs.com/linjiancun/archive/2010/10/13/1849908.html




依赖注入产生的背景：

随着面向对象分析与设计的发展，一个良好的设计，核心原则之一就是将变化隔离，即：高内聚，低耦合。使得变化部分发生变化时，不变部分不受影响。为了做到这一点，要利用面向对象中的多态性，使用多态性后，客户类不再直接依赖服]]></description><category></category></item><item><title><![CDATA[内存映射+矩阵]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/52989164</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/52989164</guid><author>TKDwave520</author><pubDate>Tue, 01 Nov 2016 00:21:50 +0800</pubDate><description><![CDATA[接口：
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MemoryMatrix
{
    public interface IMemoryMapMatrix
    {
        /]]></description><category></category></item><item><title><![CDATA[A project with that name already exists in the workspace]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/51337121</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/51337121</guid><author>TKDwave520</author><pubDate>Sat, 07 May 2016 12:16:51 +0800</pubDate><description><![CDATA[在工作空间下，已经有一个同名的项目已经存在。




解决办法：删除现有工程，重新新建
删除办法：Window->Show View->Project Explorer




OK ！]]></description><category></category></item><item><title><![CDATA[抽象工厂模式]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/50493875</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/50493875</guid><author>TKDwave520</author><pubDate>Sun, 10 Jan 2016 21:29:22 +0800</pubDate><description><![CDATA[原文链接：http://blog.jobbole.com/78067/


提供一个创建产品的接口来负责创建相关或依赖的对象，而不具体明确指定具体类



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AbstractFactoryPat]]></description><category></category></item><item><title><![CDATA[工厂模式]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/50492005</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/50492005</guid><author>TKDwave520</author><pubDate>Sun, 10 Jan 2016 13:51:45 +0800</pubDate><description><![CDATA[原文链接：http://blog.jobbole.com/78064/
工厂方法模式之所以可以解决简单工厂的模式，是因为它的实现把具体产品的创建推迟到子类中，此时工厂类不再负责所有产品的创建，而只是给出具体工厂必须实现的接口，这样工厂方法模式就可以允许系统不修改工厂类逻辑的情况下来添加新产品，这样也就克服了简单工厂模式中缺点。



using System;
using System.]]></description><category></category></item><item><title><![CDATA[简单工厂模式]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/50491234</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/50491234</guid><author>TKDwave520</author><pubDate>Sun, 10 Jan 2016 09:32:40 +0800</pubDate><description><![CDATA[原文链接：http://blog.jobbole.com/78062/


在设计模式中,简单工厂模式我们也可以理解为负责生产对象的一个类, 我们平常编程中，当使用”new”关键字创建一个对象时，此时该类就依赖与这个对象，也就是他们之间的耦合度高，当需求变化时，我们就不得不去修改此类的源码，此时我们可以运用面向对象（OO）的很重要的原则去解决这一的问题，该原则就是——封装改变，既然要封装改变]]></description><category></category></item><item><title><![CDATA[单例模式]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/50485952</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/50485952</guid><author>TKDwave520</author><pubDate>Sat, 09 Jan 2016 00:02:07 +0800</pubDate><description><![CDATA[原文链接：http://blog.jobbole.com/78059/


确保一个类只有一个实例,并提供一个全局访问点

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SingletonPattern
{
    /// 
    ///]]></description><category></category></item><item><title><![CDATA[委托]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/50471408</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/50471408</guid><author>TKDwave520</author><pubDate>Wed, 06 Jan 2016 20:11:03 +0800</pubDate><description><![CDATA[using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;

namespace ConsoleApp
{
    class Program
    {
        delegate bool DelCompare(in]]></description><category></category></item><item><title><![CDATA[内存映射文件 C#]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/49594133</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/49594133</guid><author>TKDwave520</author><pubDate>Tue, 03 Nov 2015 00:06:43 +0800</pubDate><description><![CDATA[using System;
using System.IO.MemoryMappedFiles;
using System.Text;

namespace MappedMemoryFiles
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var mmFi]]></description><category></category></item><item><title><![CDATA[C#委托 Delegate]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/49593099</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/49593099</guid><author>TKDwave520</author><pubDate>Mon, 02 Nov 2015 22:24:18 +0800</pubDate><description><![CDATA[class Program
    {
        static void Main(string[] args)
        {
            DelegateFather[] handers =
            {
                new Delegate(),
                new AnonymousDelgate(),]]></description><category></category></item><item><title><![CDATA[Linux安装VSCode]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/49053719</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/49053719</guid><author>TKDwave520</author><pubDate>Sun, 11 Oct 2015 22:29:46 +0800</pubDate><description><![CDATA[1.下载Linux版本的VSCode，链接：http://go.microsoft.com/fwlink/?LinkID=534108
2.解压


3.进入解压后的文件夹，双击“Code”文件便可直接运行Visual Studio Code


4.运行图示




如果我们想创建桌面启动程序呢？该怎么做
5.终端输入：vi VSCode.desktop，回车

]]></description><category></category></item><item><title><![CDATA[Ubuntu安装VIM]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/49050101</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/49050101</guid><author>TKDwave520</author><pubDate>Sun, 11 Oct 2015 18:24:17 +0800</pubDate><description><![CDATA[在Ubuntu终端输入：vi再连续两次按Tab键


可以看到，系统中安装了vi,vim.tiny。并没有安装VIM
普通用户下输入： sudo apt-get install vim-gtk，回车
输入密码，遇到[Y/n]时输入：y，继续执行




安装完成后，再次输入：vi再连续两次按Tab键]]></description><category></category></item><item><title><![CDATA[计算最大链路块]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/48791905</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/48791905</guid><author>TKDwave520</author><pubDate>Mon, 28 Sep 2015 22:34:11 +0800</pubDate><description><![CDATA[头文件：
Block.h

#pragma once
#include "stdafx.h"
#include 
using namespace std;

class Block
{
public:
	Block(char compareChar,int rowCount, int colCount,char** Array);
	int Calculate(int* y, int* x)]]></description><category></category></item><item><title><![CDATA[C++ 多态（一）]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/48727625</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/48727625</guid><author>TKDwave520</author><pubDate>Fri, 25 Sep 2015 07:38:24 +0800</pubDate><description><![CDATA[Bird.h
#pragma once
#include
using namespace std;

class Bird
{
public:
	Bird();
	~Bird();
	virtual void Eat();
};
Bird.cpp
#include "stdafx.h"
#include "Bird.h"

Bird::Bird()
{
}

Bird::~Bird()
{]]></description><category></category></item><item><title><![CDATA[C#  SQL操作数据库]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/48351387</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/48351387</guid><author>TKDwave520</author><pubDate>Thu, 10 Sep 2015 22:01:23 +0800</pubDate><description><![CDATA[C#  SQL操作数据库
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.Data;
using System.Data.SqlCl]]></description><category></category></item><item><title><![CDATA[C#的装箱拆箱]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/48167265</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/48167265</guid><author>TKDwave520</author><pubDate>Wed, 02 Sep 2015 00:29:46 +0800</pubDate><description><![CDATA[1.装箱在值类型向引用类型转换时发生


2.拆箱在引用类型向值类型转换时发生


执行装箱操作时，不可避免的要在堆上申请内存空间，并将栈上的值类型数据复制到申请的堆内存空间上，无可避免的要消耗内存和CPU资源。
拆箱操作过程反之]]></description><category></category></item><item><title><![CDATA[Linq示例]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/48164733</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/48164733</guid><author>TKDwave520</author><pubDate>Tue, 01 Sep 2015 22:17:05 +0800</pubDate><description><![CDATA[from c in db.Customers
join o in db.Orders on c.CustomerID
equals o.CustomerID into orders
select new
{
      c.ContactName,
       OrderCount = orders.Count()
};




from u in users
let number =]]></description><category></category></item><item><title><![CDATA[SQL Server 错误2（Win10+SQL Server 2012）]]></title><link>https://blog.youkuaiyun.com/TKDwave520/article/details/48053815</link><guid>https://blog.youkuaiyun.com/TKDwave520/article/details/48053815</guid><author>TKDwave520</author><pubDate>Fri, 28 Aug 2015 16:20:22 +0800</pubDate><description><![CDATA[Win10安装SQL Server 2012，连接报错。
错误信息：Microsoft SQL Server 错误：2




解决办法：
开始栏输入：Services.msc，右键打开




找到Windows服务：SQL Server (MSSQLSERVER)，SQL Server 代理 (MSSQLSERVER)。默认是关闭的，现在手动打开




现在]]></description><category></category></item></channel></rss>