| 作者 |
内容 |
| johnbean |
讨论:
三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
有人会说了:程序开发都发展到三层/N层结构了,还来这讨论这个问题?但我在进行项目的设计与开发时,却觉得情况不是如此.
作为在局域网应用系统的开发中,我认为不是很有必要用三层/N层结构的方式进行开发,
用两层结构即C/S结构就可以了,是吗?不是吗?业务层?什么才是业务层?谁给我一个一定要在中间层实现的业务层?其实这些东东用存储过程实现也差不多,主要是看你怎么分配及处理前端Client及后台Server的关系.
至于进行Web即B/S上的开发,还是用三层/N层结构开发好一些,
前端Bowser作数据显示及一般的操作, 中间层Application作业务处理,后台Server作数据处理,各司其职.
经验出自本人负责及参与的:工厂自用的MRP(C/S),通用的CRM(B/S),及公司自用的进销存(C/S),
或有偏颇, 欢迎大家发表意见. |
| 02/01/17 10:14 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| lw011 |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
不错,我同意你的观点 |
| 02/01/17 10:29 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| brain_wang |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
说实话,这个问题我也很困惑,两层结构的开发周期,开发效率确实要高一些,所以,我觉得,如果软件工程搞得不好,就不要考虑三层结构了,如果再加上只有几十个客户端,更不需要考虑了。 |
| 02/01/17 10:39 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| lw011 |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
其实我觉得,是否用三层或多层构架,主要要考虑系统的性能要求,例如:通信类,检测类软件往往需要用中间层,同时三层或多层构架的好处为,便于维护,代码保密性好。 |
| 02/01/17 10:49 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| charles_chen |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
单纯从软件的使用来说,你用什么设计都无所谓,只要你能满足我的需求。但是,如果从软件的易维护性、升级和可复用性考虑,结构和设计的优劣就有区别了。在这方面国内与国外的差距非常大。我们公司与国外合作开发软件,对此感受非常深。好几个人做了几年的软件设计,自称参与了好多大项目,但拿出来的设计让国外很年轻的软件人员批的一无是处。主要问题就是没有考虑易维护性、升级和可复用性。 |
| 02/01/17 10:49 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| johnbean |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
其实C/S 结构也未必是绝对的两层, 使用了DLL之后,
一样也可以将你所说的通信,检测方面的处理封装到DLL中,
一样也是很好地进行维护,保密, 另外,
在一些类似于三层中的业务处理, 放在DLL中或迁移到加密的存储过程中,
一样能完成, 也可以达到所有的性能要求.
当然, 这样的话, 我也不知道这算是两层还是三层/N层了,
这种情况下,我对它们的区分不是很好:-)
要是传统的C/S,直接用数据绑定的方式的开发的话,
早就应该淘汰了,差不多算是垃圾了:-) |
| 02/01/17 11:14 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| cajan2 |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
“都到了什么什么时代了,还用这个来做。”
不能为了技术而技术,技术方案和实现框架必须根据应用的实际需要定制。
否则,到了宇航时代了,大家上学也要坐宇宙飞船的,:>)
有些情况其实是公司的宣传策略,比如采用J2EE其实很少用到那么多东西,绝大多数只要Servlet+JSP+Tomcat+Apache+Database就解决了.WebLogic要10000美金,Sun公司及其伙伴各种昂贵的J2EE配件,这种方案不是每个客户都能承受的。
|
| 02/01/17 11:14 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| lw011 |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
你说的不错,但是dll不是万能的,很多问题无法解决,同时在开发dll时本身就是在开发中间层
如果使用厂家提供的dll则只能认为是一种两层结构的开发 |
| 02/01/17 11:20 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| xuxu1976 |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
那么对于以数据库为中心的系统,
数据库结构的变化,
它能够只限制到应用服务器层,不会影响客户端的设计么?
分层的思想很好,但是它为软件开发带来的好处是什么呢?
是不是结构清晰,易于维护,还有其它的么? |
| 02/01/17 11:32 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| johnbean |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
很多问题无法解决? 比如..., 能举些例子吗?
我也想多知道一些, 谢了 |
| 02/01/17 11:57 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| ebizs |
我觉得与软件本身有关,与技术关系不是很大。
如果仅仅是简单的内部使用的软件系统,如什么MIS信息管理,必须要求统一在某个集中的办公地点才能使用的软件,还是使用经典的C/S模式比较好。开发和发布,安装都比较简单。
如果是需要到广域网或城域网这样的地方使用(或者说2-3年内有可能这样使用,如果说再以后有可能会使用,我想到5年后的技术又不知道是什么了,现在开发的东西到以后肯定是像老爷车一样),我建议无论B/S还是N层,一定不能使用C/S模式开发,否则你会后悔的。并且这样的软件发布比较麻烦,必须有专人维护服务器端才行。
所以开发的时候要考虑软件的市场和风险。如果你使用B/S开发出来一套经典的MIS系统,但是必须有系统维护人员,你觉得只有10个人小单位会使用你的系统吗?别人搞不懂为什么这么小的单位为何需要加一个软件系统管理员!这样软件卖不出去,也白搭吧! |
| 02/01/17 12:09 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| johnbean |
差不多,
不过也有例外, 而且C/S做的系统才是复杂的,而非你说的简单...........
作为广域网或城域网的软件开发,
一般都认为必须用B/S,
但是主要是我们的见识太少, 我到了现在的公司,
才发现那也未必要用B/S, 我们公司直接用C/S开发这方面的软件,
在大楼内使用, 然后在国内的各办事处(北京.上海.广州.武汉....)及香港.台湾等办事处都通过一个叫千里眼的软件,
将广域当作局域来用, 此时也一样运行Client端的软件就可以处理数据了,
而且这样的使用也有七八年了, 效果不错,
你们不知道吧?
另外要说的是, C/S结构的系统倒是很复杂,
不是你所说的很简单, B/S嘛, 相对C/S而言,
那倒是简单多了, 如ERP , 对于一个系统而言,
应该都会要一个管理员的吧(不管是C/S还是B/S),
怎么会说不要? 要是说是极端的,
那两种都可以不要的呀 |
| 02/01/17 12:59 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| ebizs |
在大楼内使用,
然后在国内的各办事处(北京.上海.广州.武汉....)及香港.台湾等办事处都通过一个叫千里眼的软件,
将广域当作局域来用?
不会吧?有这样的软件吗?除非你的广域网的接入为1M以上,如果使用专线如32K或64K可以吗?
再有,如果有这样的软件,为什么它没有市场呢?(因为我觉得80%人没有听说过这样的软件)。如果C/S模式的软件再加上“千里眼”就可以使用在广域网上,那么世界上的软件开发人员做的软件系统从C/S向B/S,N层移植和转移,岂不是浪费? |
| 02/01/17 13:16 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| ebizs |
还有,说真的,我们组开发的C/S系统中需要数据库系统管理员的几率为20%
除非你一定要用,否则我们替用户安装软件后几乎不用他们维护后台的数据库,只要准时开机,关机就可以了,出现软件问题我们在3年内免费上门维护或电话解决。 |
| 02/01/17 13:21 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| johnbean |
很会:-)
and 请问: 国内公司用Crystal Report的有多少?
DDN 512K了, 请问: 国内公司用Crystal Report的有多少?
你是否知道这个报表软件在国外已是被广泛使用了,
ActiveBar呢? TrueDBGrid呢? 国人有几家公司在用?
为什么我们老是自己去开发控件, 开发界面,
而不用很好的第三方控件? |
| 02/01/17 13:22 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| lw011 |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
监控系统中的时时监控,数码相机操作时的特殊处理(一般厂家不提供)等等 |
| 02/01/17 13:25 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| johnbean |
同意
当然,作为替一般中小企业开发的软件,可以不设系统管理员的,
只要软件开发得好.稳定就好了,
他也没必要招聘一个人浪费Money,
只要有技术支持就行,
而且他们没有数据结构的话,也不好自己维护,
好吧? :-) |
| 02/01/17 13:30 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| johnbean |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
或许吧, 对这些领域我没有任何接触, 没有发言权,
我只做过这么几个系统而已, thanks |
| 02/01/17 13:32 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| lw011 |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
我们可以成为朋友吗? |
| 02/01/17 13:34 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| johnbean |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
好呀, 有空多联系 |
| 02/01/17 13:36 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| ebizs |
不好意思哦
绝对没有故意顶撞你的意思哦。也许因为我就是这样。现在看你的口气都有点...啦。不好意思哦。不过我觉得年轻就是应该气盛一点哦,你说是不是。到了自己50多60的时候想气盛也没有资格了,你说对不?所以我觉得年轻就是一种资格,一种自豪(你是不是想到“丑陋的中国人”上说的毛病我都有?但是我想除了上帝,谁都有丑陋的一面吧)
冒犯之处,请多多包涵! |
| 02/01/17 13:47 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| johnbean |
回复:
不好意思哦
没关系的了,多一些讨论, 多一些心得,
多一些收获嘛 :-) |
| 02/01/17 13:53 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| icefree |
回复:
我觉得与软件本身有关,与技术关系不是很大。
的确与实际应用关系很大,不可一概而论啊! |
| 02/01/17 13:59 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| johnbean |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
同意,其实吹嘘着自己系统用什么什么技术,
大多不过是想多骗到一点钱而已 |
| 02/01/17 14:02 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| johnbean |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
总之是多为用户着想,也要为自己着想就是了 :-) |
| 02/01/17 14:04 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| Charity_Zhou |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
我认为采用多层结构较为合理。
传统的C/S结构表面上存在的主要问题是维护烦琐,其实这个问题在“胖”客户/应用/服务结构中也存在,因为您总得去更新界面,除非用B/S,但B/S在做许多应用时显得“底气不足”。这也是目前B/S方式主要用在电子商务上的原因之一吧。
但是从软件工程的四个域(Problem Domain,Human
Interface,Data Managerment,System Interface)来看,将业务层、数据层、界面层分开则是相当有必要的。界面层可交给交互设计师去设计(有几个程序员设计出来的界面值得欣赏?),交互设计师不用考虑如何去与打交道,他只负责“画”出界面,他不用了解任何语言(HI);程序员去实现界面,并完成其中的逻辑(PD),对他来说,他不必知道数据是如何存放在哪种数据库中的,是如何组织的,他要做的就是对DM说“我要XXXXXXX”;而DM要做的是根据PD的要求,读写数据库;表面上看上去,一层调用一层,显得繁琐,效率低。但结构很清晰,具有极好的可维护性。在当今,速度并不是决定软件好坏的唯一因素,良好的结构、易维护、可复用、易扩展等也是软件好坏的重要指标。
以上皆个人愚见,欢迎批评指正。 |
| 02/01/17 14:31 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| johnbean |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
很同意, 但我觉得你只是理论上的说法,
或者是我见识少,
但又有几个公司达到了你的这种要求,
大的软件公司可以,
很多人都不可能到这样的公司去吧,
我见识的公司都没法做到这一步,
尽量做到良好的结构、易维护、可复用、易扩展等就可以了,
如今也没有纯两层结构的系统了,
也会用到类三层结构的一些DLL,加上用存储过程进行扩展
, 也算伪三层结构了吧 |
| 02/01/17 14:43 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| Charity_Zhou |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
我承认做C/S模式快,简便,同时也可以通过一些设计模式去做到易扩充、易维护。我目前还是在做C/S方式,主要是因为用的是PB,想做成三层,但PB做C/S实在是太方便的,唉,成也萧何,败也萧何。
但一个应用如何客户端多时,C/S模式就明显不行了。 |
| 02/01/17 14:54 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| Charity_Zhou |
回复:
差不多, 不过也有例外, 而且C/S做的系统才是复杂的,而非你说的简单...........
C/S的复杂是在于体系结构不佳,从而导致可读性不好,感觉复杂
三层结构每层相对任务单调,从而显得简单,但其复杂性在于各层之间如何协作,这需要良好的分析和架构的设计。 |
| 02/01/17 15:06 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| johnbean |
回复:
差不多, 不过也有例外, 而且C/S做的系统才是复杂的,而非你说的简单...........
大量调用函数,过程,DLL,
以达到伪三层的效果就行了, 好维护,
也一样好扩充, 不过得进行很好的架构分析 |
| 02/01/17 16:47 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| GeneYuan |
B/S、N层不需要维护人员吗?
C/S需要专人维护服务器端的目的是什么?B/S,N层同样也需要维护啊 |
| 02/01/17 20:13 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| socoolliqiang |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
同意你的观点,但想问你一点问题,你说的“程序员去实现界面,并完成其中的逻辑(PD)”是不是说程序员实现了三层结构中的表现层和业务层? |
| 02/01/18 11:16 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| timlee1969 |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
YES,老兄很有见地。对于不是访问量特别大的应用,没必要使用中间层。
但对于大公司来说,如果内部网的访问量相对大,也应该使用中间曾。 |
| 02/01/18 11:20 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| socoolliqiang |
Servlet+JSP+Tomcat+Apache+Database
不知你有没有实际使用Servlet+JSP+Tomcat+Apache+Database的经验,我们现在用的是Servlet+WEBMacro+resin+Apache+Database,感觉也不错,我觉得JSP的功能太强了,不太适合做模板,容易导致模板和程序的功能混淆,导致难以维护,除非参与开发的程序员都比较资深,而且,大家之间有一种约定。 |
| 02/01/18 11:26 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| timlee1969 |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
老兄说得有道理,可开发的复杂性也是需要考虑的,这是一个矛盾。
不是投入商业应用的内部网,个人认为还是采用简单一点的结构为好,因为投入内部网应用开发的人一般不会很多,投入过多的资源会造成成本问题,老板不会高兴的。 |
| 02/01/18 11:26 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| johnbean |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
访问量大用中间层速度不是更慢吗? |
| 02/01/18 11:37 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| timlee1969 |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
呵呵,我印象中使用中间层技术为的是解决访问量大时系统响应慢的问题吧? |
| 02/01/18 11:48 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| johnbean |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
我所知道的是: 中间层是为了封装业务规则哦,
或是为了易维护, 可扩展
而且, C to S, and C to A to S, 要是编程技巧一样的话,
应该是 C/S快些吧 |
| 02/01/18 11:53 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| Charity_Zhou |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
表现层肯定是要由程序员设计的,交互设计师可是不懂电脑的的,但他能给出界面的原型
关于交互设计师的作用,可参看Cooper的“冲破高科技营造的X笼”或与他本人的交谈录。 |
| 02/01/18 12:28 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| Charity_Zhou |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
那是,老板总是花最少的钱,用最少的时间,作最多的事。
但是,任何事情都有个量变到质变的过程,谁也不可能一下从两层跳到三层或多层,这个量变过程总是要有代价的。 |
| 02/01/18 12:52 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价: |
| 返回页首 |
|
| timlee1969 |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
这个确实是个问题,所以如果我来选择,就以是否商用为分界,投入商用的全部使用3层以上结构,非商用的就一节省成本为目标,选简单的结构。 |
| 02/01/18 15:30 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| timlee1969 |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
不知道同时上万个人在上面干活,C/S结构能否应付得来?另外多层结构的“可扩展性”是为解决什么问题的呢? |
| 02/01/18 15:36 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| johnbean |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
1. Lan中可能有同时上万个人在上面干活吗?福特?
还是...
2. 可扩展好象是为了易维护,易于扩充吧,
不是可以加快速度吧? |
| 02/01/18 15:56 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| phantombjcn |
回复:
讨论: 三层/N层结构及两层结构的应用范围.
欢迎大家发表意见
有中间层可以缓解数据库的压力,可以实现负载均衡,是很必要的。 |
| 02/01/18 16:49 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| 13958002501 |
对于非大型客户,还是不要分那么清好!
实际上主要的是把软件的本质搞清楚了,使用两层和三层没有什么本质区别的,最主要的是怎么去看待这个技术问题。
多考虑一下客户的投入产出比要好一些,用两层可以通过变通的方法减少三层中所谓的一些优点,对于当前的一些中小企业是比较好用的! |
| 02/01/18 21:13 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|
| 13958002501 |
对于非大型客户,还是不要分那么清好!
实际上主要的是把软件的本质搞清楚了,使用两层和三层没有什么本质区别的,最主要的是怎么去看待这个技术问题。
多考虑一下客户的投入产出比要好一些,用两层可以通过变通的方法减少三层中所谓的一些优点,对于当前的一些中小企业是比较好用的! |
| 02/01/18 21:14 |
酷帖! 臭帖! 回复 |
酷帖评价: 臭帖评价:  |
| 返回页首 |
|