我心中的核心组件(可插拔的AOP)~第十五回 我的日志组件Logger.Core(策略,模版方法,工厂,单例等模式的使用)...

之前的讲过两篇关于日志组件的文章,分别是《第一回  日志记录组件之自主的Vlog》和《第三回  日志记录组件之log4net》,而今天主要说一下我自己开发的另一种日志组件Logger.Core,它也属于面试AOP(横切关注点)的一部分,这个组件对于一些想学习设计模式的同学来说,无疑是一个大餐!Logger.Core项目里内含了策略模式模版方法模式工厂模式单例模式,可以说,最常用的模式都用到了,而它们在这个项目里都起到了什么作用,什么时候用到它们呢,这些答案相信在看完我的文章之后,您会有一个明确的答案的。

一 面向接口编程与多态

面向接口编程,是实现软件解耦的灵魂,也是实现多态的方法之一,日志项目有统一的接口规范

  View Code

二 继承与面向对象

继承是面向对象的三大特性之一,有了它,面向对象才有了层次感,将公共的功能点从各个派生类抽出,提取到基类中

  View Code

三 模版方式模式规定具体流程,抽象个性化方法

对于个性化的操作声明为抽象方法,在基类中实现统一的操作流程,在各个派生类中去实现个性化的模块,这正是模版方式模式的体现

四 策略模式以多种方式实现某个功能

对于文件持久化的方式有很多,而你可以分别去实现它,不知不觉中,我们正在使用策略模式来开发应用程序

普通持久化

  View Code

log4net实现日志分级的持久化

  View Code

五 工厂模式动态生产对象,单例模式保持对象实例的唯一性

当我们以多种方式实现了对日志的持久化后,我们可以通过工厂模式动态的在这些持久化方式之间实现切换,对象实现单例之后,减少了内存开销,使对象的属性成为了全局性属性!

  View Code

最后有一句话送给大家:坚持,其实就是一种胜利!

本文转自博客园张占岭(仓储大叔)的博客,原文链接:我心中的核心组件(可插拔的AOP)~第十五回 我的日志组件Logger.Core(策略,模版方法,工厂,单例等模式的使用),如需转载请自行联系原博主。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值