简单工厂+适配器+单例

来源:互联网 发布:java校招面经 编辑:程序博客网 时间:2024/04/29 18:22

 呼呼 喵终于把屋子给整好了 那些书可把喵给搬死了 不过屋子的网还没好 至今还是拿天翼上的网 悲剧 

今天花了一点时间再去看了下petshop 等朋友教师证考完了 咱也得开始帮学长做毕业设计鸟

这次喵喵算是比较坏的 拉上了朋友和公猫 嘛 表现层 靠的就是你们啦~~~

不过一个是朋友 一只是公猫 怎么说也得厚道点 再说学长这几年来对俺也不薄 所以咱还是觉得好好点写

顺便把自己学的东西运用一下吧 asp.net mvc3+ado.net entity+sqlserver2008  具体的就不列出来了

有的人说我浮躁 老东西还没学好 还学这些 

怎么说呢 看成是一种锻炼吧 一种能力的锻炼  猫爱折腾

学习是循序渐进的 成长是必然的

 

好了 最近的一些打算和想法唠叨完 来看看这篇学习笔记的主题吧

 

       记得两个月以前吧 和菜菜写那个豆瓣api的 想要写成一个支持各api的组件 但是那时咱和菜菜真的是很菜很菜很菜菜 折腾了一晚上 还是发现有个地方写错了 大概就是那个xml吧 我觉得貌似是少了一层 不过我也不敢定论 和咱没用过几个api有关 不知道还有没有其它情况 所以后来也就没再追着菜菜一起完成它

      那次我和菜菜用了简单工厂(也是俺第一次接触设计模式) 我记得很清楚 当时我想到了一个接口不兼容的问题 后来我还说要用反射去解决它 查了好几小时的文档 最后得出无法实现的结论 失望而归

      几天后 菜菜和我提到了适配器模式 但是他当时也没仔细看 所以我也就没当回事,后来自己学了适配器模式,不过没想到那次的问题  

      直到今天 我看petshop时 突然就一愣 一下子觉得自己那个傻得生窍啊 马上画了张uml类图 顿时觉得自己真是笨得XXXXXX了 怎么现在才反应过来呢 

上图:     由于我后来改了适配器的名字 里面的构造方法咱忘了改了 CatAdapter() 应该是 SubCatAdapter()

 

里面有三个对象 猫(Cat) 公猫(GongCat) 子猫(SubCat)

猫,公猫实现了ICat的接口 子猫实现了ISubCat接口 

里面的方法是不同的 而我要在同一个简单工厂类中实现实例化它

于是我写了一个SubCatAdapter的类(适配器类) 将SubCat的SubPrint方法封装在了ICat.Print方法中 注意 SubCatAdapter 它实现了ICat接口 并存在一个SubCat的私有字段

最后  我把Factroy(简单工厂类)添加了单例模式 采用了懒汉式写法