<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hellofengxia的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hellofengxia</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hellofengxia]]></copyright><item><title><![CDATA[MCP 了解]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/151400713</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/151400713</guid><author>hellofengxia</author><pubDate>Wed, 10 Sep 2025 16:12:01 +0800</pubDate><description><![CDATA[即模型上下文协议 ,旨在统一大模型与外部数据源和工具之间的通信协议。MCP 的主要目的在于，MCP 使得 AI 应用能够安全地访问和操作本地及远程数据，为 AI 应用提供了连接万物的接口。MCP是一个AI大模型领域新的开放标准协议，用来在大模型和之间建立安全双向的链接。它规范了应用程序向 大模型（LLM） 提供上下文的方式。MCP 就像 AI 应用程序的 USB-C 端口一样。正如 USB-C 提供了一种标准化的方式将您的设备连接到各种外围设备和配件一样。]]></description><category></category></item><item><title><![CDATA[net core 控制反转（IOC) 依赖注入(DI)]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/143752391</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/143752391</guid><author>hellofengxia</author><pubDate>Wed, 10 Sep 2025 11:53:56 +0800</pubDate><description><![CDATA[依赖注入（Dependency Injection，简称DI）是一种实现控制反转（Inversion of Control，简称IoC）的技术。在面向对象编程中，类与类之间存在依赖关系，依赖注入就是将这种依赖关系从硬编码中解脱出来，通过外部配置或者程序运行时动态地将依赖关系注入到对象中。]]></description><category></category></item><item><title><![CDATA[WPF 事件]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/142707618</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/142707618</guid><author>hellofengxia</author><pubDate>Tue, 09 Sep 2025 14:32:22 +0800</pubDate><description><![CDATA[set;/// 创建一个报时按钮//声明和注册路由事件//普通事件包装器//激发路由事件，借用Click事件的激发方法//这个事件参数初始化的时候包含的参数提供了事件的来源//激发事件，这里和普通事件不同（普通事件激发是有事件包装器激发的）注册路由事件创建一个继承至RoutedEventArgs类的路由事件参数类，以便传递给事件响应着一些参数信息；如果我们没有什么其他额外信息需要传递的话，我们可以直接使用RoutedEventArgs这个路由事件参数基类。]]></description><category></category></item><item><title><![CDATA[通信协议—自定义URL Protocol 协议、SSE、Http、UDP、TCP、MQ]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/148262928</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/148262928</guid><author>hellofengxia</author><pubDate>Wed, 28 May 2025 03:09:30 +0800</pubDate><description><![CDATA[定义是一个用于自定义网络请求处理的类，可以让你拦截和处理URL请求。自定义URL Protocol（也称为自定义URL方案）允许开发者创建一个特定的URL格式，通过该格式，用户可以在浏览器中启动特定的应用程序或执行特定的操作。例如，常见的如迅雷的thunder://协议、电驴的ed2k://协议等，都是自定义URL Protocol的实例。当用户在浏览器中点击这类URL时，浏览器在解析到自定义URL Protocol之后，会寻找注册表，然后通过注册表启动相应的程序，然后启动改程序，传入参数。]]></description><category></category></item><item><title><![CDATA[架构师前篇引言]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/143941198</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/143941198</guid><author>hellofengxia</author><pubDate>Thu, 21 Nov 2024 13:00:30 +0800</pubDate><description><![CDATA[最近的一个面试又败北了，我以为我面试的是软件工程师，把基础的技术问题答好了就可以了，努力学习了一段时间，好不容易把技术问题过关了，没想到最后一个面试考验的是架构师技术能力，需要现场回答面试官出的一个场景并进行技术选型和设计，我的日常工作也不是不涉及到技术选型，但是会做和会说是两码事，需要有一个高度的升华，而且我在架构设计方面，也确实比较忽略，认为我只是想敲好代码，其他的不想去操心，目前来看是不行了，要不毁灭，要不重生，咋办，干就是了，翻看资料，拿起武器继续战斗吧！否极泰来的日子就在明天。]]></description><category></category></item><item><title><![CDATA[NET Core net core与net frameword区别]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/143742361</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/143742361</guid><author>hellofengxia</author><pubDate>Wed, 13 Nov 2024 14:32:25 +0800</pubDate><description><![CDATA[如果你的项目主要针对Windows平台，并且依赖于现有的.NET Framework功能，那么继续使用.NET Framework是一个合理的选择。自.NET 5起，.NET Core与Xamarin、Mono等合并成为统一的.NET平台，称为.NET 5/.NET 6+。微软已经明确表示，未来的主要投资将集中在.NET Core和.NET 5/6+上，.NET Framework将继续支持现有应用程序，但不会引入新的重大特性。.NET Core采用了模块化和轻量级的设计，具有更高的性能和扩展性。]]></description><category></category></item><item><title><![CDATA[c# 设计模式-武功秘籍（2）]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/143418066</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/143418066</guid><author>hellofengxia</author><pubDate>Thu, 31 Oct 2024 22:20:38 +0800</pubDate><description><![CDATA[今天接着讲武功绝学的其他章节。]]></description><category></category></item><item><title><![CDATA[c# 设计模式-武功秘籍（1）]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/143325195</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/143325195</guid><author>hellofengxia</author><pubDate>Thu, 31 Oct 2024 21:34:06 +0800</pubDate><description><![CDATA[通过类封装数据（字段，属性，方法，构造方法，静态数据等）通过类的方法（一定的访问级别封装，提供一个方法）依据变化点设计每一个类（高内聚，低耦合，单一职责）]]></description><category></category></item><item><title><![CDATA[c# Thread、ThreadPool、Task区别]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/143058761</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/143058761</guid><author>hellofengxia</author><pubDate>Fri, 18 Oct 2024 17:44:53 +0800</pubDate><description><![CDATA[已经好几天没坚持写文章了，每天都谴责一下自己，然后沉沉睡去，即将患上懒癌的人。]]></description><category></category></item><item><title><![CDATA[c# 创建型设计模式-简单工厂模式]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/142770919</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/142770919</guid><author>hellofengxia</author><pubDate>Tue, 08 Oct 2024 22:28:53 +0800</pubDate><description><![CDATA[用于创建对象，将对象的创建与使用分离。我们平常编程中，当使用"new"关键字创建一个对象时，此时该类就依赖与这个对象，也就是他们之间的耦合度高，当需求变化时，我们就不得不去修改此类的源码，此时我们可以运用面向对象（OO）的很重要的原则去解决这一的问题，该原则就是——封装改变，既然要封装改变，自然也就要，然后把改变的代码，这样的一种思路也就是我们简单工厂模式的实现方式。]]></description><category></category></item><item><title><![CDATA[c# lambda表达式]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/142685089</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/142685089</guid><author>hellofengxia</author><pubDate>Fri, 04 Oct 2024 21:00:56 +0800</pubDate><description><![CDATA[Lambda 表达式是一种简洁、灵活的匿名函数表示法。它们允许我们定义短小的内联函数，而无需显式声明完整的函数或方法。Lambda 表达式在LINQ查询、事件处理器、委托调用等场景中非常有用。]]></description><category></category></item><item><title><![CDATA[c# 委托/事件/Action/Func]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/142684648</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/142684648</guid><author>hellofengxia</author><pubDate>Wed, 02 Oct 2024 20:44:14 +0800</pubDate><description><![CDATA[有了上面的使用之后，我们会发现委托基本都是根据具体方法来声明的，如果不同的方法有3个，4个或者更多的参数，显然，我们需要分别声明不同参数个数的委托，不经意间多了一道“声明委托”的门槛。于是，在.Net Framework3.5版本之后发布了.Net自带的内置委托Action和Func。我们不用再做“声明委托”的工作，直接可以使用。]]></description><category></category></item><item><title><![CDATA[c# 匿名函数]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/142665018</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/142665018</guid><author>hellofengxia</author><pubDate>Wed, 02 Oct 2024 20:12:31 +0800</pubDate><description><![CDATA[匿名函数在C#中非常有用，特别是在需要快速定义一个小型函数，而不需要完整方法定义的情况下。它们在LINQ查询、事件处理、异步编程等场景中非常常见。]]></description><category></category></item><item><title><![CDATA[c# 值类型 引用类型]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/142644244</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/142644244</guid><author>hellofengxia</author><pubDate>Sun, 29 Sep 2024 22:15:44 +0800</pubDate><description><![CDATA[今天在浏览Microsoft官网，看到了值类型和引用类型，对于大脑中的知识又进行了一轮回顾。]]></description><category></category></item><item><title><![CDATA[WPF ListBox ListView区别]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/142599164</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/142599164</guid><author>hellofengxia</author><pubDate>Fri, 27 Sep 2024 17:57:29 +0800</pubDate><description><![CDATA[Listbox派生自Selector抽象类。而ListView则派生自ListBox，增加了一个View依赖属性。]]></description><category></category></item><item><title><![CDATA[WPF 资源、样式、模板]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/142565772</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/142565772</guid><author>hellofengxia</author><pubDate>Thu, 26 Sep 2024 18:02:48 +0800</pubDate><description><![CDATA[近期要重新启航了，对过去的知识需要进行一个回顾，每天进步一点点，成长足迹看得见。样式设置和模板化是指一套功能，如果想要创建极具视觉表现力的效果和一致的外观，需要自定义应用的外观时，通过强大的样式设置和模板化模型，可以维护和共享应用内部和应用之间的外观。]]></description><category></category></item><item><title><![CDATA[C# User32 Win API 通过句柄控制进程]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/142529403</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/142529403</guid><author>hellofengxia</author><pubDate>Wed, 25 Sep 2024 17:58:37 +0800</pubDate><description><![CDATA[近期公司需要做一个比较冷门的项目，对于上位机开发者来说可能很常见，但是对不接触上位机开发方面的小白来说，还是比较棘手，一头雾水，今天花费了一天时间，把句柄、user32、窗口等定义了解了一下，并结合项目的实际需求，看看Win API提供了哪些需要的可用的方法。]]></description><category></category></item><item><title><![CDATA[WPF 附加属性]]></title><link>https://blog.youkuaiyun.com/hellofengxia/article/details/142479138</link><guid>https://blog.youkuaiyun.com/hellofengxia/article/details/142479138</guid><author>hellofengxia</author><pubDate>Tue, 24 Sep 2024 14:23:47 +0800</pubDate><description><![CDATA[WPF 的体系结构原理之一是首选属性，而不是方法或事件。属性具有声明性，可更方便地指定用途。为了显示用户界面内容，属性还支持模型驱动或数据驱动的系统。通过创建更多的属性，从而更好地控制应用程序的行为。基于WPF是属性驱动的系统，项目中需要丰富强大的属性系统，在属性内容更改时进行通知。Microsoft .NET Framework 具有一个 INotifyPropertyChange 接口，对象通过该接口可以发布更改通知。WPF 还提供一个更丰富的属性系统，从。]]></description><category></category></item></channel></rss>