软件设计
ithzhang
继续向架构师挺进
展开
-
子系统划分的误区
对于习惯结构化程序设计的朋友来说,分析设计一个软件的起点是从子系统的划分开始的。而划分的依据一般都是以用户部门或业务进行划分。比如财务子系统、人力资源管理子系统等。但是上面的这些划分均是按用户业务划分的。计算机软件是为了解决现实问题而设计的,现实世界和计算机系统之间并不是相等的关系。因此这种按用户业务划分的方法,对计算机系统来说并没有什么意义。不仅无法有效指导设计和开发,还容易导致系统依赖关系的混乱。原创 2016-06-22 10:00:21 · 8941 阅读 · 1 评论 -
从使用者观点去认识软件系统
对于一个还不存在的事物,我们不知道其结构,也就不能从结构性观点出发,同时也不知道他究竟具有什么功能。最好的做法就是从使用者的观点去描述他能够为使用者做什么。从使用者角度去描述软件,也非常符合我们对事物的认知过程。对于陌生的事物我们无法发现其本质,只能从表象揭示对使用者的作用。原创 2016-06-22 10:14:54 · 5260 阅读 · 0 评论 -
对面向过程与面向对象的一点感悟
面向过程与面向对象的本质区别 一位计算机界的大师曾说过,“我认为,面向对象的目标从来都不是复用和扩展,而是提供一种处理复杂问题的方法”。 面向过程讲究自顶向下逐步求精。找到一个系统的入口然后顺藤摸瓜,分析出每一步以及影响这一步的其他因素,我们就能够定义这个系统。 面向对象认为世界是有很多对象组成的,各个对象之间时相互独立的,平时并没有什么关系。在某些外力的作用之下对象之间相互协作,表现出一定的行为原创 2016-07-19 09:56:25 · 8373 阅读 · 1 评论 -
一篇本人在公司做面向对象技术分享时的文章
一篇本人在公司做技术分享时的文章! 上次插件进程化分享时,感觉大家对面向对象思想的理解还停留在很基础的层次。面向对象思想确实很难理解,因此学习面向对象思想并非一日之功。我看过很多面向对象的书,包括OOA、OOD、设计模式、UML、架构设计等,因此对于面向对象思想有了一些自己的浅显的理解,希望能对大家理解面向对象有所帮助。由于仅仅处于入门阶段,很多东西理解并不是那么透彻,可能存在很多错误或理解不够准原创 2016-10-31 16:37:43 · 4265 阅读 · 1 评论 -
模板方法模式在协议构造与解析中的应用
模板方法模式在协议构造与解析中的应用 实际开发中经常会遇到构造、解析各种二进制、Xml、json协议等。很容易想到的方案就是每个协议提供一个构造、解析的方法。这种方案好处是简单,任何人都召之即来。缺点也很明显,每个协议单独构造。如果需要修改这些协议里共有的每个字段,比如加个errInfo,则需要修改所有的地方。这种方案使用的是最简单的面向过程的思想。要知道我们在开发的是面向对象的代码。为何不能充分原创 2017-03-17 19:07:12 · 2486 阅读 · 0 评论 -
建模基础
原创 2018-07-05 20:01:49 · 722 阅读 · 0 评论