2014年8月19日星期二

[原创] 思维导图笔记(三):推荐引擎常见技术 - icemoon1987

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
[原创] 思维导图笔记(三):推荐引擎常见技术 - icemoon1987  阅读原文»

最近找了一些这方面的基础资料来看。首先是重新温习了《集体智慧编程》中的协作过滤的相关章节。这本书非常基础,够简单,够全面,而且有很多可供实验的例子。读起来真是轻松加愉快呀。另外还看了一些网上的其他资料,其中IBM的《探索推荐引擎内部的秘密》系列文章对我很有启发。这几篇文章既涵盖了必要知识,也联系了实际产品的使用经验,推荐给大家:http://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy1/。

  这里是我对于推荐引擎的思维导图笔记。我感觉思维导图是一个不错的工具:

  1、简单方便。原来要几页纸的线性笔记,现在一张图就完了。

  2、知识密集度高。同时把所有知识呈现在眼前,有助于理清不同知识点之间的联系。

  3、阅读简单。打破了阅读顺序的障碍,你从哪个分支开始看都行。

  4、启发性。整理导图的时候,由于导图的知识密集度大,常常能激发起一些想法。这些想法不止一次地帮我把原书安排不当或缺漏的知识补充上去。

  当然啦,只要你能够清楚地把导图给画出来,而不是让它乱成一张网:)。

  

  我上传了两个东西:

  1、图片形式思维导图:方便您查看和下载。您可以把导图打印下来或存到pad里,方便在地铁上、公交上回忆这些知识。原图比较大,请您右键单击图片,选择“在新标签页打开”。

  2、iMindMap 6 源文件:我上传到github上了:https://github.com/icemoon1987/MindMaps。您可以用iMindMap 6打开这些文件,自由修改和改进,添加更多内容使其更加全面,或删减一些细节好让它变成一个提纲。It's up to you.


本文链接:[原创] 思维导图笔记(三):推荐引擎常见技术,转载请注明。

C# 通过反射实现类似MVC路由的机制 - 菜鸟无名  阅读原文»

  最近封装了个功能非常类似于MVC的路由。//MVC路由机制先找到Controller Action


  • 什么是反射

反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获 得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数 等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道。


  • 实现思路

先是根据DLL名称进行装载,然后反射根据类型查找类,在根据方法名查找方法。可能作者才疏学浅写的不是很好,希望大家可以都多点评几点。以帮助我的提升。谢啦!

以下代码

1 //获取程序集名称 如果配置程序集名称为空,就使用当前的程序集名称
2 var assemblyName = ConfigurationManager.AppSettings["asseName"] == null ? Assembly.GetExecutingAssembly().GetName().Name : ConfigurationManager.AppSettings["asseName"].ToString();
3 var className= "className";//类名
4 var methodName = "methodName";//方法名
5
6 if (string.IsNullOrEmpty(assemblyName))
7 throw new Exception("程序集名称不能为空");
8 if (string.IsNullOrEmpty(className))
9 throw new Exception("类名不能为空");
10
11 //反射指定的DLL,并根据类名查找类 类的访问修饰符一定要是 public
12 Type type = Assembly.Load(assemblyName).GetExportedTypes().FirstOrDefault(
13 o => o.Name.IndexOf(domainResourceIndex, StringComparison.OrdinalIgnoreCase) >= 0);
14
15 if (type != null)
16 {
17 //创建类的实例
18 object obj = (object)Activator.CreateInstance(type);
19 //根据传入方法名,查找方法
20 MethodInfo pMethod = type.GetMethod(methodName);
21
22 if (pMethod != null)
23 {
24 //执行
25 pMethod.Invoke(obj, new object[] { request, response });
26 }
27 else
28 {
29 throw new Exception("没有找到方法");
30 }
31 }
32 else
33 {
34 throw new Exception("没有找到类");
35 }

转载请注明 http://www.cnblogs.com/cainiaodage/p/3924165.html


本文链接:C# 通过反射实现类似MVC路由的机制,转载请注明。

阅读更多内容

没有评论:

发表评论