作者TonyQ (骨头)
看板java
标题Re: [问题] 关於事件处理
时间Fri Feb 29 20:05:52 2008
※ 引述《PsMonkey (痞子军团团长)》之铭言:
: ※ 引述《TonyQ (骨头)》之铭言:
: : 这样才勉强接近「不用在意物件是什麽」喔XD
: 直接取得 e.getActionCommand()
: 你不用知道触发这个 event 的 object 是哪一个
这只是表面上是这样,
必须要站在使用这个类别的使用者立场来看,
前提是当你不需要介入介面设计的时候。
帮你补一下,:p
设计这个GUI介面的人当然需要知道event的物件是哪一个。
: : 会这样做原因就是要兼顾可读性,
: : 在兼顾可读性的同时还要考虑撰写上的习惯。
: .......
: : 动作不见得要和事件(触发)结合啊,
: : 你把动作跟事件讲一起,个人不是很欣赏。
: 我不确定你的「动作」是啥? 是指後续的处理?
: 也许你可以举个通俗的例子
: 说明一下 event 触发之後,不用跟「动作」结合的 case
yes 你的说法讲的太简洁了
: : 就如同ActionListener 里面本身就应该要具有属於 Modal层的物件
: ^^^^^
: : 也要具有属於View层的物件,或者他本身含有一个Control层的物件,
: : 这样他才能够兼顾所有的处理。
: : 这是逻辑上得必须,只是我们用什麽方式包装它而已。
: : 至於他是不是有需要独立出Modal的型或View的型,端看程式需求,
: : 就像我们不会把所有基本资料型态的变数改写成物件一样。
: : 你要写就写全套,不要只写半套咩。--;;
: 我没有打算把 MVC 扯进来
: 基本上,年纪越大,就越不敢提这个词
关於这一点,我想我们有一点私人恩怨肯定需要解决。(大笑)
: 我只是单纯就 class 间能不互相牵扯就不互相牵扯的角度来写
: 而且,坦白说,我不知道你最後这段到底要说什麽?
: 也许你可以给个实际的 code 来说明 [奸笑]
好久没看到你这样的文章了,感觉真好。:)
抱歉啊,我还在公司,
不能在事情上多花时间细想,丢一点我的感觉而已。
前阵子再重新回首细想,模组化设计的部份,
我发现很多人(当然,也包括我)不是不会把东西分开。
而是不会把这些东西给重新结合,变成设计的时候虽然分开了,
最後在沟通的时候,又变成莫名其妙的结合关系。
没错,今天 ActionListener是可以不用在乎原始的来源是什麽,
但是我们最常作的事情却往往都跟原始的来源有关,
比方说按下button的时候可能改变button上的字,
没错,这的确会造成两个类别之间的牵扯不清,
但是把这两个分的太细,在事件的思考逻辑,
触发=>就触发的事件直接处理
触发=>触发的事件名称=>事件的承载者=>事件的处理
就会变得更复杂一些了,
这对大部分的新手设计师而言,一点都不「单纯」。
届今的设计经验,只有在这一点上模组会带给我困扰,
因为gui的再利用在我届今处理的大部分的状况下,
都是以Component当单位不会以Frame当单位。
(有谁要举Frame跟event切割的例子吗? 我很有兴趣 )
所以这也就是为什麽很多人宁愿牺牲结构、再利用性,
而把JFrame 跟ActionListener写在一起了,而且我相信这些你也知道。
--
I am a person, and I am always thinking .
Thinking in love , Thinking in life ,
Thinking in why , Thinking in worth.
I can't believe any of what ,
I am just thinking then thinking ,
but worst of all , most of mine is thinking not actioning...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.250.227.184
1F:→ TonyQ:ps.物件跟事件切割的例子 我在web上看到最棒的例子 02/29 20:08