改行了,不再做软件开发了,之前工作中做过的一些有价值的东西陆续发布在这,希望对其他人有用。

------------------------------------------------------
这是我在上一家做网络交友的公司工作时提出的架构草案的所有相关文档。不过没有被采纳,甚至我本人还因为表达了想法而惹了麻烦。^^

打包附件的文档结构:
--一个网站架构的建议及构想.doc:方案最初的思路和构想
--Web Site System Architecture.ppt:用于展示并得到加深和扩展的方案构想
--WS_Client_API_Design.doc:方案中一重要特性的展开
--\Frameworks_UML\:架构中主要框架(Spring、Struts2、OpenJPA等)的原理及架构要点图

(注:.jude文件可用JUDE软件打开)

----------------------------------------------------
方案文档节选:
序言:灵活、简单和标准化是第一位的。灵活,就给以后的功能扩展、性能调优等留下了极大的回旋余地。简单,实现简单和理解简单,就更少负担,更容易沟通和协作。标准化,就给超出部门企业范围的有效信任和协作埋下了种子。复杂系统的构建,需要能有效整合多方有益的资源。动态系统的成长,需要能支持不断的调整和重构。

一、基本需求及目标
按照主站+合作网络、不断增加多种应用及访问接入方式的发展模式,系统应有足够灵活的架构,以支持多种表现层/客户端,集成多种服务形式,拓展新功能,同时保持良好的性能。系统共享一个数据库,数据一致性和安全相当重要。

应该提供给应用开发者一个容易理解和使用的开发环境,能快速实现和不断完善各种应用;应该提供给界面设计者一个界面元素丰富的开发环境,能灵活的表现设计意图并支持重用;应该提供给产品设计者一个简单清晰的思维框架,能够容易的设计和把握产品的要点和细节。(架构本身只是一个骨架,它的血肉要靠各位设计开发人员来填充。但架构提供的平台应能很好的把各类设计开发人员黏合在一起,提供一个很好的起点。)

系统应能巧妙收集各类用户信息,不断改进用户体验带来更多用户价值。(网站的各种产品应该成为企业和用户之间沟通互动的主要渠道。)

......
评论
tminglei 2008-05-24
王者之剑 7 小时前
谢谢分享,不过交友网站算是什么大型网站?
我估计你们老板的意思就是让人能注册信息,通过某种方式联系就够了。搞一台PC做服务器的那种吧。
第一要求就是简单,能够快点儿做出来。
做技术的要以实现业务为目标,不能老盯着自己的技术,要寻求一个平衡。
否则还没等你做出来呢,公司就破产了。

按你这样的设计,没1000万,不用起步了。
就算你要搞一个宏大的设计,也要认清现实,分个三步走,一下把你的终极梦想兜出来,也不问人家受得了受不了。
-------------------------------------------------------
你说的很对,根据我后来的了解,老板的真实意图确实很简单。而我当初提出这个构想的时候就是不明就里,因为公司口号目标很宏大(而且已经有十几人的技术团队,有新成立的中国区市场和服务团队),而现有系统确实基础薄弱,结构臃肿混乱、逻辑错误很多、彻底没有文档,不可能支撑那一系列的目标和想法。所以我就干脆跳出原有框框来考虑问题,以商榷、提议式的口吻提出了这一基本上还是一个思维框架和一系列针对相关问题的解决思路的方案构想。
真正实施起来当然还有很多的事要做,不过也没那么夸张(没1000万,不用起步了),它的很多方面本就是可以分段实现的,抽象和划分、标准和重用本就是这个(草)方案的要点。

分享这个方案的本意也不是因为它自身多么的成熟和完美,而是我个人觉得里面的一些想法兴许对大家有用。

ps:前公司前段时间进行了大规模的裁员,裁掉了整个中国区团队,技术部门只留下了两个人。扩张或收缩,这是我当时对公司动向的估计,——不过已经不重要了,事情都已经过去了。
王者之剑 2008-05-24
谢谢分享,不过交友网站算是什么大型网站?
我估计你们老板的意思就是让人能注册信息,通过某种方式联系就够了。搞一台PC做服务器的那种吧。
第一要求就是简单,能够快点儿做出来。
做技术的要以实现业务为目标,不能老盯着自己的技术,要寻求一个平衡。
否则还没等你做出来呢,公司就破产了。

按你这样的设计,没1000万,不用起步了。
就算你要搞一个宏大的设计,也要认清现实,分个三步走,一下把你的终极梦想兜出来,也不问人家受得了受不了。
pf_miles 2008-05-23
很喜欢博主的分享精神;
不管内容如何,敢拿出来跟大家交流就是好的。

看到有人在回复中挖苦讽刺博主,我在这里要支持博主一下,希望以后还能有更多分享;

虽然竞争很激烈,导致很多人的心遍体鳞伤,但也不必如此热衷于讽刺和挖苦。
tminglei 2008-05-21
Wallian_hua 9 小时前
不是我说你。。 你很没职业道德。。。。
--------------------------------------------
对Wallian_hua的话的申明,调整后重发。这些文档不应该被认为是泄密,因为:
1)如果我的方案被采纳,我确实需要特别留意哪些可以发布哪些应该保密,但实际上我的想法和我上一公司的实际做法差别很大,完全是两套;
2)如果我的想法主要是用于解决公司特殊的商业问题,也确实有些涉密方面的问题,但实际上我所公布所涉及的还主要是对些通用问题的想法思路;
3)如果我的很多东西是基于公司产品专利开发的,也确实有些涉密方面的问题,但实际上我的很多想法和源码都来源于网络(特别是一些出色的开源框架);

当今社会,我们无时无刻不深受的前人他人的惠泽,受他人想法的启发。用了太多别人分享的东西以后,也适当的回报一下,这应该算是应该的。

另外,没有必要重复发明轮子,更重要的是所带来价值。而在这个方案,以及我发布的其他方案或公用类中,在应用到或受到其他产品或想法的地方,我都有明确的说明。

不过,Wallian_hua所指的是对的,应该遵守职业道德。
tminglei 2008-05-20
对了,想要补充一点的是,根据我后来的一些经历和体会,我所给出的方案确实有点太“重”了,牵涉的系统层次和开发框架还是太多了些,对于绝大多数不需要做复杂交易、不需要维护复杂大对象的网站系统,采取更简单直接的做法其实更合适!

(而我之所以会在这个方案中采取现在这种思路,主要还是因为在我的软件开发经历中,主要面对的还是些大型商务系统,关系复杂并且对于继承和兼容要求很高,抽象和分层是已经习惯了的思路。阅读时能注意到这点是不无裨益的。)

祝各位愉快!
gongmingwind 2008-05-20
首先要感谢你!愿意把自己的东西共享出来就很了不起!
Azi 2008-05-20
你这样的东西,苗了一眼就不想看了。根本不可能在软件混下去。早点离开好了
Wallian_hua 2008-05-20
不是我说你。。 你很没职业道德。。。。
tminglei 2008-05-19
其实,对于像架构设计这种根本性之类的东西,不是看它多么的完善,而是看后来的调整方案,是不是都自然而然的以它为基础。看它打的是不是基础,是不是给人以启发和帮助,是不是给将来留有余地

最后,还有一点,没有什么是完美的,实际上出色的方案都是一系列的折中。重要的是平衡,所以,如果后来发现我的想法、出发点有问题,改进调整或重新开发是值得的,我不介意把我原先的东西删得一个不留
tminglei 2008-05-19
呵呵,确实是各种各样的人都有
各位各取所需就对了,没必要争个穷尽
我这方案刚起个头,关注的是主要问题、核心机制,关心的是给各方面人员资源打个基础,能给人以启发、提供帮助,很多问题还没有碰到,方案还没有进一步的调整和完善
不过也不大可能进一步去调整和完善了

另外,各位真特别关心我的代码能力的话,可以看看本博客共享的其他具体方案、工具类的设计实现
true_cp 2008-05-19
开头的描述就有点问题,一般来说灵活与标准化是对立的。还有就是有些描述太空太大了,怎么就灵活了,怎么就简单了,怎么就标准化了,在你的设计中找不到答案。

这样的设计我觉得也没有什么问题,反正都是这样东西,大家都在做,怎么带领团队成功的做出来最关键的问题。
licco1 2008-05-19
我也不支持用struts2。我支持用spring,显示层我支持用模板,呵呵。还有,大型网站的话,业务是频繁变更的,在架构的时候这是个主要问题。
lococode 2008-05-19
1.楼主以前是学文学的;
2.楼主以前做办公室的,然后就从文学转变成看SSH了;
3.楼主没项目经验。
Azi 2008-05-19
所以很天真很幼稚
ghyghost 2008-05-19
一个大型网站系统的架构建议及构想

???

大型的WEB用STRUTS2??

你没有长脑子吧??
不用你的方案算是明智了
雁行 2008-05-19
谢谢,看看
samana 2008-05-19
下了,看下
多谢
Azi 2008-05-19
感觉楼主空有理论,分析不到位。。

这样的系统很难建造。

想法很天真很幼稚。

评价完毕。
PowerNTT 2008-05-19
看看,谢谢先.
hejianhuacn 2008-05-19
楼主照片 是“会当凌绝顶”,境界!
发表评论

您还没有登录,请登录后发表评论

tminglei
搜索本博客
最近加入圈子
最新评论