`
pupi
  • 浏览: 437734 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

企业应用架构的设计--是面面俱到还是仅仅提供基础服务

阅读更多
有2种思路。

一种是尽可能地将能隐藏的东西隐藏起来,将能封装的功能封装起来,提供给developer的只是一些傻瓜级的API。程序员可发挥的空间很小,比如甚至都不需要知道数据库表。

另外一种是选择好合适的技术架构,做好基础设施的搭建,比如异常处理,权限,工作流。只提供简单的封装,程序员有足够的灵活度。

显然,前者的情况,程序员会比较没有动力。优势是系统的核心程序员无法触及,相对安全。有不少公司都是这种情况,程序员的流动性相当高,不过老板也不在乎。

而后者的情况,程序员会有较高的积极性,容易成长,团队的融合会比较不错。更加符合敏捷的思路。但也许产品或者项目的规模大了后,会导致失去控制。

也许还是应该具体情况具体分析吧 !
分享到:
评论
24 楼 lee5593 2007-05-24  
引用

软件不是个人单打独斗,而是一个工程,如果能够学习到更多的工程思想,对自己的成长更加的有利

这句话我到最近才有深刻的体会
23 楼 cherami 2007-05-19  
第一种也不是绝对的导致程序员没有积极性,如果足够的努力,你可以从那个框架学习到很多东西,也可以思考它到底有没有不足的地方.
一句化,进步取决于自己,而不是取决于你在一个什么样的公司.

个人感觉第一种情况对程序员,对公司都更好.
软件不是个人单打独斗,而是一个工程,如果能够学习到更多的工程思想,对自己的成长更加的有利.
22 楼 Godlikeme 2007-04-28  
底层是一个快速开发的技术架构,
是所用技术的集成封装,例如spring+hibernate+webwork+osworkflow+jbossrule+quartz,
在此之上封装一个业务模型,
以实现业务逻辑快速实现。

技术架构封装应该是越简单越好,避免重复发明轮子,技术的替换代价,学习成本,维护成本也低。
至于业务模型,不知道,发现抽象通用的业务模型是mission impossible,
21 楼 抛出异常的爱 2007-04-28  
pupi 写道
确实很难把握这个度。
即使是在某一领域,第一种方案也有自己的问题。
比如普通开发人员和架构的设计者之间就会有一道鸿沟。
另外,前面的朋友也提到了,其实架构本身的维护需要更高级的人才。而且这部分人才升值只怕更快。
还有就是这种架构用一段时间,可能就会过时,又需要花大力气重新开发,并且重新培训。


哪有什么过时的技术?
如果合公司没人会,而且 不能提高效率就不要 架构
如果招到的人都会新的技术,那么转型用的时间与金钱都会少很多。
20 楼 sunnyshuhai 2007-04-28  
这要根据架构设计的目标来判断,1)如果框架的应用范围很广比如通用架构如.NET Framework, 那就应该只提供基础功能给用户。2)如果框架的应用领域很具体比如工作流什么的,就应该提供比较具体的服务。不过这是相对来的。
19 楼 pupi 2007-04-27  
确实很难把握这个度。

即使是在某一领域,第一种方案也有自己的问题。

比如普通开发人员和架构的设计者之间就会有一道鸿沟。

另外,前面的朋友也提到了,其实架构本身的维护需要更高级的人才。而且这部分人才升值只怕更快。

还有就是这种架构用一段时间,可能就会过时,又需要花大力气重新开发,并且重新培训。
18 楼 lkfnn 2007-04-27  
BirdGu 写道
Godlikeme 写道
BirdGu 写道
为什么不先讨论一下第一种框架的可行性呢?

如果是专注某一应用领域的解决方案的公司,那么第一种框架是有可能的。但如果是要针对多种应用领域,通用而又傻瓜......现在有这样的框架存在吗?


我们还是讨论某一应用领域的通用框架的可能吧


如果是专注于某一个应用领域,那就是要尽量往商品化软件的方向靠,尽量增加可以复用的东西。如果不是一开始就走商品化的路,那也一定要沿着项目——解决方案——商品这样的路走。这恐怕是每一个这样的公司都会追求的方向。


走这样的道路大家都知道,最难的是如何把握好过渡的问题。
很多时候并不是方略的错误,而是时机选择的错误。
17 楼 lkfnn 2007-04-27  
pupi 写道
本质上,公司最宝贵的财富还是人。

现在更多的公司是找不到合适的人,担心自己公司的开发人员成长太快而导致人力成本过高,听起来实在有些荒唐。也许存在这样的公司和老板,但会不会有点算计过头了?

按照楼上的意思,像thoughtworks这样的公司的人力成本是要增加很快的,但是利润会更快地增长呀。


利润会不会快速增长不只取决于企业内部,还要看市场环境,如果市场环境好,当然你的假设就是对的,如果市场环境很萎靡那么公司并不愿看到员工成长太快,而事实上根本就不会成长的太快。
16 楼 BirdGu 2007-04-18  
Godlikeme 写道
BirdGu 写道
为什么不先讨论一下第一种框架的可行性呢?

如果是专注某一应用领域的解决方案的公司,那么第一种框架是有可能的。但如果是要针对多种应用领域,通用而又傻瓜......现在有这样的框架存在吗?


我们还是讨论某一应用领域的通用框架的可能吧


如果是专注于某一个应用领域,那就是要尽量往商品化软件的方向靠,尽量增加可以复用的东西。如果不是一开始就走商品化的路,那也一定要沿着项目——解决方案——商品这样的路走。这恐怕是每一个这样的公司都会追求的方向。
15 楼 Godlikeme 2007-04-17  
BirdGu 写道
为什么不先讨论一下第一种框架的可行性呢?

如果是专注某一应用领域的解决方案的公司,那么第一种框架是有可能的。但如果是要针对多种应用领域,通用而又傻瓜......现在有这样的框架存在吗?


我们还是讨论某一应用领域的通用框架的可能吧
14 楼 抛出异常的爱 2007-04-17  
BirdGu 写道
为什么不先讨论一下第一种框架的可行性呢?

如果是专注某一应用领域的解决方案的公司,那么第一种框架是有可能的。但如果是要针对多种应用领域,通用而又傻瓜......现在有这样的框架存在吗?
你说的那叫银弹。。。。出了的话我第一个转行。。。
13 楼 BirdGu 2007-04-17  
为什么不先讨论一下第一种框架的可行性呢?

如果是专注某一应用领域的解决方案的公司,那么第一种框架是有可能的。但如果是要针对多种应用领域,通用而又傻瓜......现在有这样的框架存在吗?
12 楼 抛出异常的爱 2007-04-16  
pupi 写道
任何的老板都会选择max((收入-成本)/成本)的这个公式的,但是问题在于,在作出选择之前,收入,成本这两个数值是老板并不知道的。
收入是由销售部作的年度估计

成本是人员的成本(高程价格高,低程价格低)+可遇见成本(软件没什么源材料要采购。。。所以只有工具成本)

有些公司的收入不稳定
11 楼 pupi 2007-04-16  
任何的老板都会选择max((收入-成本)/成本)的这个公式的,但是问题在于,在作出选择之前,收入,成本这两个数值是老板并不知道的。
10 楼 抛出异常的爱 2007-04-15  
gigix 写道
hurricane1026 写道
pupi 写道
本质上,公司最宝贵的财富还是人。

现在更多的公司是找不到合适的人,担心自己公司的开发人员成长太快而导致人力成本过高,听起来实在有些荒唐。也许存在这样的公司和老板,但会不会有点算计过头了?

按照楼上的意思,像thoughtworks这样的公司的人力成本是要增加很快的,但是利润会更快地增长呀。


如果你是个狗窝,你就算培养出凤凰也养不活凤凰。越是培养人,就越是流动大。这个道理很简单。那些能给高工资的企业无一例外是可以在某个领域获得高额利润的企业。。。只有他们养的起。
对于所有的公司老板来说。max(收入-成本)才是追求。对于自己公司不同定位当然带来了对人员的不同需求。

max((收入-成本)/成本)
实际上还应该考虑风险耐受力在里面。
公式太精典了收藏之

小公司不作框架封装是由于
1找不到好的人才,
2浪费时间。
一个项目一笔钱。
下个项目指不定还作不作这个行业呢
用通用框架浪费小
所以用通用框架。

大公司的活动地盘大多在一个区域内,
所以有足够的时间与精力来作专用框架
9 楼 gigix 2007-04-15  
hurricane1026 写道
pupi 写道
本质上,公司最宝贵的财富还是人。

现在更多的公司是找不到合适的人,担心自己公司的开发人员成长太快而导致人力成本过高,听起来实在有些荒唐。也许存在这样的公司和老板,但会不会有点算计过头了?

按照楼上的意思,像thoughtworks这样的公司的人力成本是要增加很快的,但是利润会更快地增长呀。


如果你是个狗窝,你就算培养出凤凰也养不活凤凰。越是培养人,就越是流动大。这个道理很简单。那些能给高工资的企业无一例外是可以在某个领域获得高额利润的企业。。。只有他们养的起。
对于所有的公司老板来说。max(收入-成本)才是追求。对于自己公司不同定位当然带来了对人员的不同需求。

max((收入-成本)/成本)
实际上还应该考虑风险耐受力在里面。
8 楼 Godlikeme 2007-04-15  
前一种情况的问题在于,框架的成熟程度、学习曲线、和框架的维护成本。需要一个核心团队(2-3)个人维护、完善这个框架,培养新人。项目大了,多了,感觉成本降下来了。可是真的有这么通用的框架可以适用这么多项目么?rob 说,检验框架的标准是能够快速实现业务。业务肯定是丰富多样的,所以在这一点上,对通用框架值得怀疑。

后一种情况的问题在于,撞车保险。team走了人,做的这块东西就很可能大改、彻头彻尾的。由于技术的通用性,找两个替换的人还是容易的,可就是以前设计的东西很难继承下来。

前一种情况同样面临如何维持核心团队的问题,而且核心团队出现问题,比后一种更难解决。
7 楼 robbin 2007-04-15  
pupi 写道
本质上,公司最宝贵的财富还是人。

现在更多的公司是找不到合适的人,担心自己公司的开发人员成长太快而导致人力成本过高,听起来实在有些荒唐。也许存在这样的公司和老板,但会不会有点算计过头了?

按照楼上的意思,像thoughtworks这样的公司的人力成本是要增加很快的,但是利润会更快地增长呀。


一个公司的商业模式决定了这个公司会寻找什么样的人才。

对于ThoughtWorks这种以咨询收费方式做项目的公司来说,它的利润远远高于国内的项目公司,同时承担的风险很小。这种运营模式就要求他需要不断寻找高水平的程序员包装成咨询师赚取高额利润。对于招聘的程序员创造的高额利润来说,给程序员多点工资实在不算什么。

但对于国内很多项目公司来说,行业竞争的加剧导致项目的利润非常单薄,同时风险很高,项目周期不确定性拉长,需求随意变更,项目回款困难都导致了公司必须不遗余力的压低公司运营的成本,从而需要招聘大量低工资程序员来完成工作。
6 楼 pupi 2007-04-15  
本质上,公司最宝贵的财富还是人。

现在更多的公司是找不到合适的人,担心自己公司的开发人员成长太快而导致人力成本过高,听起来实在有些荒唐。也许存在这样的公司和老板,但会不会有点算计过头了?

按照楼上的意思,像thoughtworks这样的公司的人力成本是要增加很快的,但是利润会更快地增长呀。
5 楼 抛出异常的爱 2007-04-14  
pupi 写道
抛出异常的爱 写道
这个好处是老板不希望看到的。。。。效率,可用度,银弹,人员成本才是老板喜欢的。


可是人总是不停地走,人力资源的成本也不可忽视的。就算封装得再棒,熟悉和使用还是需要时间的。老板不在乎,不代表问题不存在。


你如果会的多了,是否会走的更有理?
用第二种方式公司每年成本的增长是非常快的
而第一种方式下人力成本很低,而增长也慢,
业务量增长快时公司有能力快速转型。。。。

第一种方式常常会被用在外企,
第二种方式常常会被用在创业类的小公司中。

程序员的成长对于一个公司来说不一定是好事。

PS:大多数老板不傻。。那么大多数老板不在乎的事也必有他不在乎的道理。

相关推荐

    面面俱到的企业基础架构监控与管理.pptx

    企业基础架构监控与管理是确保IT系统稳定运行和高效服务的关键环节。魏早達Vincent Wei在"面面俱到的企業基礎架構監控與管理"中详细介绍了这一领域的核心概念和技术。以下是对该主题的深入阐述: 首先,IT管理架构...

    系统架构设计方法指南.docx

    架构设计的基本概念和目的是在解决系统复杂度带来的问题,而不是要面面俱到、具备高性能、高可用、高扩展等特点。架构设计的目的是识别出实际业务实际情况的复杂点,然后针对性地解决问题,而不是贪大求全。在实际...

    Sundy-Android高级应用课程介绍-不敢说绝后但肯定空前

    Sundy在Android架构设计、海外项目开发与管理方面有着深厚的专业积累,曾在中国移动、中国电信等多家知名企业进行过企业培训。 课程的特色在于其开创性的教学内容,包括但不限于: 1. **独特的Android培训体系**:...

    EMC基础知识总结!从原理到设计,接地,滤波,PCB设计面面俱到.docx

    本文将围绕EMC的基础知识,从原理到设计,包括接地、滤波和PCB设计等方面进行深入探讨。 一、传导与辐射 1. 传导干扰:通过导电媒介或共享电源线传播,如电源线、信号线等。 2. 辐射干扰:由设备产生的电磁场通过...

    如何让简历制作面面俱到-面试技巧集萃PPT模板.ppt

    如何让简历制作面面俱到-面试技巧集萃PPT模板.ppt

    数据库结课论文 内容面面俱到

    数据库结课论文 关于户籍管理系统 内容详细 并有实现截图

    2024-开篇词:为什么你要学习系统分析师.pdf

    他们常在软件开发流程中扮演核心角色,包括需求分析、信息系统项目架构设计、模块的规划和设计、以及可行性分析等。 2. 系统分析师的工作内容: 系统分析师在企业中的具体工作内容包括需求收集、数据分析、系统设计...

    计算机基础与应用习题.pdf

    由于篇幅限制,我们无法面面俱到地深入每一个知识点,但以上提及的都是计算机基础与应用中常见的概念和元素。针对这个习题集,可以推测出,它主要是以问答题的形式,涵盖了计算机操作系统的使用、硬件的识别和应用、...

    2.面面俱到的MySQL安全方案 - 徐轶韬1

    10. **应用安全**:使用数据库防火墙或者SQL注入防护,防止恶意代码通过应用程序对数据库造成破坏。 在法规遵从方面,全球各地都有针对数据保护的法律法规,如美国的PCI-DSS(支付卡行业数据安全标准)、HIPAA...

    计算机网络数学基础--Mathematical.Foundations.of.Computer.Networking

    该系列自1990年创立以来,一直致力于提供准确权威的技术图书,因此可以信赖该书将对读者在编程语言、操作系统以及网络方面知识的掌握与应用提供极大帮助。 由于篇幅限制,书中可能无法面面俱到,但是鉴于作者和出版...

    QQ浏览器面面俱到 白领一族生活办公好帮手.docx

    总的来说,QQ浏览器凭借其全面的功能和贴心的设计,成为白领一族生活和工作的得力助手,无论是工作中的资料查询、信息记录,还是生活中的社交、娱乐,都能提供一站式解决方案,充分体现了其面面俱到的特点。

    敏捷软件架构、开发方法与开放源码最佳实践

    ### 敏捷软件架构、开发方法与开放源码最佳实践 #### 敏捷软件开发概述 敏捷软件开发是一种强调灵活性和高效...通过采用敏捷方法,结合合适的架构设计和充分利用开源资源,可以有效地提升软件产品的质量和开发效率。

    mdk5-getting-started-cn(中文版).pdf

    由于篇幅限制,本文无法面面俱到,但以下内容涵盖了一些MDK5入门教程的中文版中的关键知识点。 首先,MDK(Microcontroller Development Kit)是ARM公司推出的针对ARM Cortex-M系列微控制器的专业软件开发环境。它...

    企业信息化管理如何构建.docx

    企业信息化不仅仅局限于信息技术的应用,而是要将技术与业务深度融合,以提升企业的效率、降低成本并创造新的价值。 首先,企业信息化构建的第一步是自我诊断。这一步要求企业深入理解技术、市场和客户需求的变化,...

    面试的前中后-面面俱到面试技巧集萃PPT模板.ppt

    【面试技巧集萃】是关于如何全面准备面试的PPT模板,主要分为面试前、面试中和面试后的各个阶段,旨在帮助求职者调整到最佳面试状态。以下是对这些技巧的详细解析: **面试前的准备** 1. **积极的自我暗示**:运用...

    4面字节跳动拿到2-2 Offer,入职就是30K16薪,全靠这份Android知识点PDF大全(csdn)————程.pdf

    - 准备几个亮点,在面试中展现,不必面面俱到,但每个亮点都要深入且能流畅表达。 4. **内推与练手**: - 寻求内推以提高成功率。 - 先找几家目标公司之外的公司进行面试练习,以降低初次面试的压力。 5. **...

    家长如何带着孩子进行语文复习.doc

    - 总复习不必面面俱到,应重点针对孩子的薄弱环节。 - 复习不能完全依赖老师,家长的参与和引导至关重要。 2. **复习的目标** - 查漏补缺:找出孩子学习中的不足,针对性地进行弥补。 - 养成习惯:通过复习,让...

    Muduo_网络库使用手册

    该库的初衷是为了满足特定的需求场景,即为局域网内的应用提供高效的支持,尤其是对于多核处理器环境下多线程模型的支持。根据作者的设想,理想的网络库应具备以下特点: - **线程安全**:支持多核处理器下的多线程...

Global site tag (gtag.js) - Google Analytics