如何理解表现层,它不重要吗

我利用学到的开发方法,面向各种开发,可我发现我还是错的,只有面向客户,面向最终用户的开发,才是正确的,我所见的客户,他们最关心的不是你的团队写的代码如何,分析的多么条条有理,而是要一个漂亮的界面,正确,稳定,快速的运行即可,就这么简单,所以我感觉,界面是重中之重,就像是一个女人,如果长的不行,最多只能成为黄月英,永远成不了大周天子一样,不知道我的想法,有没有人赞同呢,在DDD中表现层,就那么微不足道吗,望赐教,多谢
如果说表现层是美女的外貌,那么DDD就是美女的DNA。

整容的美女长不了。时间一长露真相。

2011年04月21日 14:51 "@banq"的内容
DDD就是美女的DNA。 ...

我感觉您这个比喻,有些不太准确,我做这么多年开发,不管什么样的新手,从界面上看,跟本看不出来高低,因为界面是美工做的,前辈这个比喻,能不能再详说一下,我很想知道,您如何看戴表现层
软件的界面是看的,但是软件本身是用来用的,是为用户达到某种目的而存在的,请理解这一点,再漂亮的软件,若果领域模型失败,扩展性将会失效。

可能用户没有提出新的业务,或者修改业务时,你还感觉不到什么。但当这些蜂拥而至的时候,你会发现若果不是面向领域,你会发现对业务新增和重构是多么的辛苦。其实面向领域也是面向用户的,它是面向用户的心智模型,但绝对不是面向用户眼球。

当然好的用户界面,能提供一个好的用户体验。但不要因为这个,忘记了领域才是一个软件的灵魂。所以界面做足够方便就好,但不是做得花俏。

说得不好听,美女再漂亮,如果其患了各种病,什么都做不了。这美女要来有什么用呢?你要美女目的不是来服务你么?她各种病的时候,你需要反过来服务她?看来,你还真搞错你本来要女人(软件)的目的了。

软件是服务人的,不是人去服务软件,所以软件不但要健壮,还要很容易教会她做新的事情——扩展。

2011年04月22日 10:21 "@SpeedVan"的内容
软件是服务人的,不是人去服务软件 ...

您一定说反了,我不知道别的公司是什么样子的,就拿我公司来说,客户有新的需求的时候,我们要提供详细的修改方案,最主要的是工数,客户看着工数然后给钱,也就是说如果修改的地方越少,那么最到的钱就会越少,于是很多的时候,我都要多报工数才行,您说软件服务人,我看人服务于软件才对,只有成天改来改去,你才能有钱挣,这也是经济学里所说的,提高效率并不能提高收益,而仅仅是降低了产品的价格,使消费都受益,客户关心的,不是你的软件怎么做的,而以你的软件能不能让我用着爽,就足够了,很多客户是不在钱的,特别是在中国,很多人是靠灰色收入的,如果不折了盖,盖了折,很多人就得被饿死,干软件不是什么高科技的东西它就是一个饭碗而以,哎,我也哀其不兴怒其不争啊
如果你这么说,我们就无话可说了,我们都是在这里跟着老师学道的,不是在这里学怎样混的。
我不知道你之前说的界面问题,与你所说的灰色收入何关···我反而更觉你不是搞反了,而是搞错了。

改得简单和容易,与是否要改是两回事,我可以很直白的告诉你,改得简单和容易是面对开发者而言的,而你定价与这个无任何联系。加快的开发效率,减少开发成本,提供高可维护性、可扩展性,是提供了产品价格的下降空间(注:只是提供)。但成本减少就注定降价了?这是什么逻辑?同样的成本(时间)下面,我可以接更多的单。同样的价格下面减少成本,可以增加利润。

若果你认为可维护性,可扩展性是与利益冲突的话,那么我觉得你需要反思一下,可维护性、可扩展性目的在什么地方。设置缺陷来提供利益来源,与可维护性、可扩展性不存在冲突,反而可以提供同样时间内处理更多的问题,提高利润。(当然是否支持这个,我表示沉默)

“软件是服务人的”这个是软件的最初也是最终目的,你所做的软件不是为用户服务?若果你所做的不是这个,那么我也很直接的说,你不是在开发软件,或者说你只是打着软件开发的幌子而已。

总的来说,我觉得你搞错了“可维护性、可扩展性”与“设置缺陷获取利益”之间的关系,他们不是冲突,甚至可以共存。(我再次对后者表示沉默)

SpeedVan 兄的话,我看了好几遍,首先我得承认我说的话好像跑题了,索性,就跑到底,可能你没能明白我所在公司的情况,公司客户是固定的,客户的系统并不是运行在客户那里,而是在我这里,我们维护客户的数据,和修改需求,所以,就算我们有时间,也不会去接新的单子,所以,我们报价的时候,要尽量多报才行,我不知道贵公司是什么情况,如果您不介意的话,能不能讲讲贵公司的情况呢,是按功能要钱呢,还是看工数要钱呢,客户来了一个修改请求,由于贵公司的软件架构合理,修改高效,一周一人就把活干完了,那客户会给你一个月的报酬吗?,客户得拿着你的报价去管上一级要钱,你报的多,才能给他回扣,以实现双赢,你明明花了一个星期,结果说花了一个月,人家问你都改啥了,结果就改一二行,那能说的过去吗,你说我说的对不对,还有zjsong兄,您的话让我想起了以前的自己,我以前就像孔乙己,其实很多搞技术的都像,贪困潦倒,自命清高,我现在比以前强点了,我说这话没别的意思,只想给你提个醒而以,望理解
恩,既然话题豁出了,我也说些吧。首先我说的时间并不是按时间算钱的意思,而是当作自己的成本。买方是只考虑你价格,但不考虑你成本的,减少成本,是从卖方(开发者)去考虑的,也就是同样赚100元,我用1小时,他可能就要10小时。若果等时工作,那么就是10小时内,我赚1000元。

2011年04月22日 16:02 "@wqs918"的内容
一周一人就把活干完了,那客户会给你一个月的报酬吗?, ...

关于这一点,如我上面所说,100元不是10小时的报酬,10小时是指成本,不是价格。用好架构是为了减少成本而已,不是减少价格,价格照常,否则公司会有减少成本的动力么?

花时间少是实力问题,不是质量问题。这是以最少时间干更多的事情,这也是你所看到的吧。至于相对于以前的长时间,剩下的时间可以考虑增加客户,或者扩展业务等。当然这些是你公司决策,我就只是说说而已。

总的来说,我们想简单合理地完成工作。

补充:DDD是从解决复杂系统,复杂问题出发的,而主要是可维护和可扩展方面。若果你系统没有达到一定的复杂程度,就不一定要DDD。若果你公司不是这样的问题,用DDD就不会感到它领域大于界面的特点。维护,扩展也是成本,而过往,我们痛苦正是在那两件事上。
[该贴被SpeedVan于2011-04-22 17:19修改过]

楼主有这样好的客户不应该自暴自弃,重构也是修改的一部分,很多人误解修改就是功能修改,其实重构也是一种修改,如果重构出一个可重用的行业框架,你们不但从这个项目赚钱,而且赚到了会下鸡蛋的母鸡,可以为更多行业客户快速开发,赚更多钱,钱不会嫌多吧?是不知道赚更多钱,自己水平又提高的正道啊?
如果你有好的架构,那样每次需求变化修改的工时会少很多,可是你对甲方说明修改时间和工时应该按照,市场上对这样一个功能修改时间来计算(或者工时来计算)。不能按照你们公司的修改来报。有了良好的价格,你们的生产效率是变高了,但是市场价格还是不变。你的收入自然就增加了。
你所学的面向各种开发,不外乎思想和技术,都是为了提高工作效率、软件质量等。客户不关心你的思想和技术,就好比我们手里拿着一款手机,我们关心这个手机是通过什么高明的思想和技术产生的吗?我们只关心这个手机功能是否足够好,外形是否足够炫等。但如果你是一个手机生产者或设计者,就不会那样认为了。做什么事情辩证的看问题,别走极端。
在DDD中表现层,就那么微不足道吗,望赐教,多谢

每一个方法工具也不是万能,面面俱到。再说,表现层跟界面似乎说的是不同的事情吧。表现层是在涉及到软件的体系架构才会提到,界面不能完全等同表现层吧,界面更体现在人机交互,似乎不是软件体系架构能说明的。客户的问题或需求更多的是体现在人机交互这方面,因为是人要用系统,而系统是依托机器来运行的。多学多领悟吧,问别人直接告诉你答案,好比小马过河。想不通,就继续摸索,不用着急或轻易说放弃,说不定摸索自己的方法来。

wqs918说的很有道理,界面设计很重要,关键是怎样使界面和我们的领域模型联系起来,充分利用模型的优势。关于社会上的一些事情我了解不多,可能和我在学校工作有关。我知道学校里也基本上是这样,教师都在忙着搞课题,跑项目,发表文章,大多数都没有什么含金量,都是一些虚的东西,搞了这些东西你就可以评职称,拿到课题项目费。但是作为个人我还是不喜欢这些的。
我觉得页面是很重要的。

假如说,你的模型做的很好DDD的方法论用的很好,速度很快。

但是页面很烂。那我就不想停留在这种系统上。

不管你的内容有多好,即使我要回来,也会再找一下,有没有别的系统是可以做到页面又漂亮简便,功能也不错,内容也不错。

第一印象很重要。

起码在这一点上javaeye比这边弄的好。

那边比这边更讲究用户体验一说。

希望Bang能对于用户体验做一些工作。

这个页面很不好用。

只有页面的简便,人们才会更好的发表言论和讨论。

那么多编程人员,回家已经停累的,上jdon的时候能有一个简便而不失漂亮的页面,感觉会更好。

个人意见。仅供参考