下面的东西,没有经过仔细整理。不要见怪。
我现在的想法是:一个最好能够分开,例如一个组件用三个(部分)类来实现,一个是数据m,一个显示v,一个控制c,这样从形式上可以表现得清晰。
一个大的项目分两个并行主线,一条是数据主线,一条是显示主线,控制在两条主线间横插,就像一条软梯。
swing组件的事件被设计成,可以从外部“注入”,虽然理论上可以达到减少c对v干扰,但在实践中,却非常难于实现,在实际操作中许多时候需要用c来生成v,这样也破坏了cv之间的低耦合,cv混在了一起,形成强依赖关系,实际工作的时候类的组织形式上也难于可以分清m c v,也就是思想与表达形式出现了脱离。
父组件可以将事件注入子组件,这样子组件实现起来就会相对简化,如果子组件必须自己实现所有的事件(包括需要实现的完成父组件的相关事件的话),子组件就会变得非常臃肿,因此由父组件来注入父组件层次的事件是个非常好的思路。
如果子组件太过依赖父组件的话,就会变的臃肿,因为它可能要实现祖父,曾祖父的事件,同时上下层组件也变成了强关联了,如果这个工作由上一层组件来实现的话,就不会干扰本层组件了。
我现在的想法是:一个最好能够分开,例如一个组件用三个(部分)类来实现,一个是数据m,一个显示v,一个控制c,这样从形式上可以表现得清晰。
一个大的项目分两个并行主线,一条是数据主线,一条是显示主线,控制在两条主线间横插,就像一条软梯。
swing组件的事件被设计成,可以从外部“注入”,虽然理论上可以达到减少c对v干扰,但在实践中,却非常难于实现,在实际操作中许多时候需要用c来生成v,这样也破坏了cv之间的低耦合,cv混在了一起,形成强依赖关系,实际工作的时候类的组织形式上也难于可以分清m c v,也就是思想与表达形式出现了脱离。
父组件可以将事件注入子组件,这样子组件实现起来就会相对简化,如果子组件必须自己实现所有的事件(包括需要实现的完成父组件的相关事件的话),子组件就会变得非常臃肿,因此由父组件来注入父组件层次的事件是个非常好的思路。
如果子组件太过依赖父组件的话,就会变的臃肿,因为它可能要实现祖父,曾祖父的事件,同时上下层组件也变成了强关联了,如果这个工作由上一层组件来实现的话,就不会干扰本层组件了。