可设计元素,软设计,硬设计

可设计元素,软设计,硬设计。
1.可设计元素
1.1 空间角度
1.1.1 静态
1.1.2 函数
1.1.3 类,命名空间,模块
1.2 权限角度:读,写,公,私,保护
2.软设计,硬设计
2.1 软设计:权限读写控制,价值体现在维护上的价值。
2.2 硬设计:开发初期阶段的价值。
设计就是对面相对象特性的运用,那么,面相对象都有什么特性呢,继承,重载,多态,静态,只读,权限控件,接口定规。
那么如何运用这些元素进行设计呢?
首先,就是对需求的规律的匹配,比如一个类中有这么一个变量,这个变量是给全部该类的对象用的。那么怎么办呢?
很明显这应该设置成类的静态成员。
这就是静态这个属性的价值。
至于读写,那是软设计的价值。
哦也顺便说一下吧,成员指针,这个类的成员,可以在对象的构造是创建。那么在类中对改指针的使用都要做,空指针判定,在java中可以设置成只读属性,在构造函数里初始化。这很好,但c++无法用这种设计。
多态的运用,比如我想多继承类的机种行为有约定,但还要对他们组合的机能提供一个对外的接口,这时候我们可以这样设计,一个函数调用几个抽象函数,C++最后用纯虚,子类必须实现这几个接口。
先说说这设计的价值,就父类想告诉子类,我的这个设计意图,子类如果随便的应付一下,怎么办呢?
我这里的回答是,那也没有办法,我这里只能尽量的用一种设计把意图表示出来,设计也只能做到如此了。
设计是没有绝对的控制的,任何完美的神都能被维护的很糟糕。
无论我们用什么样的技术,也是不可能吧我的设计思想完全的在代码中体现出来的,设计取决于人,维护也取决与人。好的维护能把好的设计传递。否则会有点糟糕。
我举例
我曾经见到过一个30种状态的状态类,您说怎么维护。你质疑设计者的智商吗,你会骂人吗?我是再心里骂过的,但是静下心来,你就会明白,一个用状态模式去设计的人,几乎会是一个优秀的设计者。那为什么会这样呢,是维护者,很糟糕吗?也未必,但是维护的管理流程一定很糟糕。
有时候为了项目周期,设计不的不让步,而在维护的过程中都是优秀的设计者也很难,让步,让步,让步,30种状态的设计模式就出现了,到你这里了咋办,重构,你有那个能力,领导也不会给你时间,悲哀是无法避免的,而这往往有不在我们的掌控范围呢。
我这里是要说,如果你懂设计别轻易的让步,尽量把完美的设计延续,甚至把错误的设计修正。
下一篇《硬设计》

猜你喜欢

转载自blog.csdn.net/xie__jin__cheng/article/details/88764710