相信很多人对IOC这个概念并不陌生,简而言之其核心就是利用反射来创建对象来实现解耦。

具体这么做解耦的好处是什么,因为鄙人做的项目还不多,所以还没体会到。

但好的项目大概是这样的 就是实现“高内聚,低耦合”

高内聚就是尽量定义私有成员和保护成员,这样其他类就不能随便调用了。保证了具体业务由具体类自己实现。

低耦合就是类与类之间的关系,如IOC,抽象工厂就是避免了成员之间的直接调用,这样就减少了耦合。具体为何让第三方创建对象,这个应该等你做的项目多了就体会到了。

上面是简单的说几句,下面开始介绍利用Castle实现IOC对象注入。(这个我也是在公司现研究的,网上搜到的资料很少,就只能看代码调试看怎么调用了。忙活了几天终于写好了一个Demo)

项目大致结构如下:

Demo下载

上面是使用Castle实现了拦截器,和对象注入。下面结合ORM框架中的Nhibernate获取几条数据看看:

那,下面就是获取到的列表了(这里我通过商品和类别表进行了分页查询)

Demo下载

最新文章

  1. C#-WebForm-Repeater-重复器
  2. iOS 9学习系列:打通 iOS 9 的通用链接(Universal Links)
  3. WebService中使用Aspose.Cells.dll
  4. ListView的item里面控件文本颜色修改
  5. CSS3转换
  6. FMS直播流发布时 Microphone Speex 编码设置注意事项
  7. class str
  8. 从Windows 服务器通过sync向Linux服务器定时同步文件
  9. Struts2请求处理流程及源码分析
  10. 由Qt4.x项目移植到Qt5.x需要注意的事项
  11. Android开发之Path类使用详解,自绘各种各样的图形!
  12. Codeforces 1064D/1063B Labyrinth
  13. Asp.net 性能监控之压测接口“卡住” 分析
  14. MySQL用户远程登录问题
  15. DotNetBar的一个MDIView不正常显示的问题
  16. java多态的向上转型与向下转型(与编译时类型与运行时类型有关)
  17. C#使用HttpWebRequest与HttpWebResponse模拟用户登录
  18. 字符编码问题mysql
  19. 构建高性能数据库缓存之redis主从复制
  20. [转]JDBC快速入门教程

热门文章

  1. java中4种修饰符访问权限的区别及详解全过程
  2. 02--读书笔记之:C++ Primer (第4版)及习题
  3. Java中数组的概念与特点
  4. javaee 文件的复制
  5. hive优化分享
  6. linux下查看mysql版本的四种方法
  7. windows系统下jenkins环境搭建与基本使用
  8. sessionStorage缓存滚动条位置
  9. django模板使用
  10. 常用前端布局,CSS技巧介绍