背景:
最近在补UML图,通过查资料对UML图有了更多的认识和了解,还是直接上图好了:
经过学习这次画图就不能和之前一样low了,所以决定来点复杂的图,机房收费中用到了外观,好像比较复杂、那就画他了,在画的过程当中通过看书查资料,竟然感觉无从下手,不知道怎么画了,细想想——我真的用“外观”了吗?看着我像是用了,但是外观模式的作用完全没有体现出来,常常是一个外观类对于一个方法,所以在后面我基本上是这样写的:
Dim bCheck As New BLL.BackCardBLL
Public Function Checkon(card As String) As Boolean
Return bCheck.CheckBll(card)
End Function
在UI层我是这样写的:
'是否上机
Dim CheckOnF As New Facade.BackCardFacade
Dim resut As Boolean
resut = CheckF.Checkon(user.CardNo)
看一下代码,难得Facade层不是在机械地重复UI层吗?一张图胜过千言万语,在类图中我的外观模式是这样的:
后面我感觉真正发挥外观模式作用的应该是这样的:
总结:
经过这次个人重构学到了很多东西,因此现在再去看机房系统、哪哪都是嫌弃;开始很困惑所以查了一些博客,之后没有经过认真的思考、也有点赶进度,所以就直接模仿着敲了过来,现在回头看:直接照搬无疑是省事而且快速的,但是多多少少丢失了那部分自己通过探索、思考而收获到的知识,这样做只是“站在了巨人的肩膀上”——收获寥寥。接下来要学会真正站在巨人的肩膀上,可能开始的时候回拖住你的进度,但是厚积薄发,思考ing……
以上纯属个人观点,如有雷同、那就雷同吧………欢迎大家交流。THANKS FOR YOUR TIME