公司接了个大项目,前期几乎没有任何架构设计,到了后期,代码混乱,SWITCH IF ELSE满天飞,性能问题严重,还有内存泄漏。这才使我认识到,JAVA的真谛在于面向对象的设计。现在开始努力学习设计模式等宏观设计的知识。
------------------------------------------------------------------------
目前中国象你这样的案例太多了,招标只看钱多钱少,软件质量把关成了空中楼阁,结果一个个大项目成了很多软件公司的实验项目。象楼主这样觉醒更是少之又少。
------------------------------------------------------------------------
banq 能否指一条通向架构师的明路,推荐一下几本好书,最近看了下孙卫琴的《面向对象编程》我觉得此书看后,可以打好做程序员的基础,我后来看了阎宏《JAVA 与模式》,觉得有些迷糊,又看了《代码大全2》觉得是讲编码基本规范,技巧,优化方法,现在在看结城浩写的《设计模式》感觉通俗易懂,下一步准备看你写的《JAVA实用系统开发》和《领域驱动设计》,虽然你写的书中用的技术有些过时了,但我想思想不会过时。你觉得还有其它好书吗?推荐一下。
------------------------------------------------------------------------
个人认为这条路简单,这是一条经验加悟性之路,看太多书籍反而将简单的事情搞复杂,产生误导作用,因为书籍作者都有侧重和当时的局限性(否则不会有时间写书)。
作为一个架构师必须要有两个基本方面知识或功底:模式框架等架构知识 + 业务建模方法(Evans DDD)。但你有一天意识到这两方面区别,以及感觉可以从两方面开始设计新项目,那么你已经入了架构师的门。剩余就是项目经验积累和总结;如果能够掌握性能设计技巧和经验,那么,说明你进入架构师中级,可以独立承担中型项目的前期设计和过程设计的质量把关。
要掌握架构+建模两个基本知识,GOF设计模式又是基础中之基础,掌握GoF模式对架构和建模都有帮助。
GoF设计模式的掌握必须依靠简单原文定义,在实践中使用体会,任何游离于实践的外表式讨论都不能帮助你掌握其精髓。
------------------------------------------------------------------------
>现在我们公司用的是tuscany+spring+ibatis+webwork2+dwr+junit4.4(几乎没法进行单元测试,代码乱套了),觉得配置文件实在是多
不是配置文件多的原因,这只是表象,深层次原因就是你们只注重了架构,忽视了两条腿子中另外一个重要的 业务对象建模,也就是没有掌握Evans DDD。
无论Ruby或Grails还是Spring,这些都是技术平台,只是舞台,舞台上唱什么戏剧,戏剧就是业务建模;技术平台是水;业务建模是鱼,可以想见,你的水就是再好,水处理很先进,里面没有鱼,一切都是白搭。这就是造成你项目乱套的深层次原因。
分享到:
相关推荐
总之,架构设计说明书、模块设计书和数据库设计书是软件开发的关键文档,它们对于项目的成功至关重要。通过详细规划和清晰记录,团队可以确保软件的高质量、可维护性和适应性,从而有效地满足用户需求。
软件系统架构设计说明书是指导软件开发过程中的重要文档,旨在明确系统的整体结构、组件间的相互关系以及设计原则。本文档由科技有限公司XX编写,旨在为项目团队提供清晰的架构蓝图,确保系统的设计符合业务需求和...
【系统架构设计】是软件开发领域中的核心环节,关乎到软件系统的稳定性和可扩展性。系统架构设计师是软件开发团队中的关键角色,他们不仅需要深厚的技术背景,还需要具备商业洞察力和良好的团队管理能力。 首先,...
### 软件架构设计最佳实践 #### 一、学习的重点内容 软件架构设计的核心在于构建一个既稳定又高效的应用系统框架。通过本篇报告,我们可以深入理解软件架构设计的关键要素,包括但不限于目的、目标、驱动因素以及...
【基于DSSA的软件架构设计与应用】 DSSA(特定领域软件架构)是一种针对特定问题领域的软件架构设计方法,旨在支持一个产品家族的应用开发。在本文中,作者在负责的国网电力用户用电信息采集系统项目中采用了DSSA...
在当前信息化社会中,系统架构设计已经成为软件开发过程中的关键环节,它决定了系统的可扩展性、可维护性和性能等重要属性。本书的第四版更新了最新的行业趋势和技术实践,为读者提供了全面且实用的知识体系。 首先...
该方法论强调了架构设计的重要性,并指出传统的认为只需了解系统需求就能构建架构的观点是片面的。以下是基于提供的内容,对这六项技能的详细解读: 1. **通过协作,识别职责**:架构设计的第一步是明确各个组件的...
1. 简化再累加的设计原则:蔡学镛认为在架构设计初期,应当将复杂问题简化处理,而非直接面对复杂的全貌。设计应当从简入繁,逐步累积设计元素,构建起整个系统的框架。这一原则有助于开发者更好地理解和管理系统的...
1. **业务理解**:在架构设计初期,充分理解业务是至关重要的。这涉及到分析业务模型、流程和数据,以识别关键业务场景和操作。通过深入理解业务,架构师能够设计出更贴合实际需求的架构。 2. **架构模式**:在PPT...
演化架构是一种以适应变化为核心的架构设计方法,它强调系统应随着业务需求和技术环境的变化而持续演进。这与传统的静态架构形成鲜明对比,后者通常在项目初期就设定好所有细节,难以应对后期的变更。演化架构鼓励...
总的来说,温昱架构设计六技提供了一个全面的框架,涵盖了从需求分析到架构决策的整个过程,强调了功能、质量、约束和可扩展性等方面的综合考虑,对于提高架构设计的专业性和有效性具有重要的指导意义。在实际应用中...
### MySQL性能调优与架构设计的关键知识点 #### 一、MySQL基本介绍与历史背景 **1.1 MySQL Server简介** MySQL是由MySQL AB公司(后被Sun Microsystems收购,现属Oracle Corporation)开发的一款开源数据库管理...
20. **Initial Architecture Design**(初步架构设计):介绍了如何设计游戏的架构蓝图,包括数据流、交互模型和系统集成。 21. **Development**(开发阶段):涵盖了游戏开发的具体实施过程,包括编码、测试和...
云计算平台存储架构设计是当前信息技术领域中的重要议题,它涉及到如何高效、安全地管理大量数据,为云服务提供稳定、可扩展的存储解决方案。在这个PPT中,我们可能会深入探讨以下几个核心知识点: 1. **云计算存储...
软件架构设计位于软件系统构建的初期阶段,其重要性不容小觑。架构设计不仅仅是技术问题,更是融合科学、经验和艺术的综合实践。一个好的架构设计能够为后续的系统设计、开发、测试直至上线提供坚实的基石。在架构...
初创公司的股权架构设计是创业初期的关键环节,关系到企业未来的稳定性和发展速度。设计股权架构时,应遵循以下几个基本原则: 1. **维护创始人控制权**:确保创始人或创始团队能够对公司发展方向进行有效决策,...
#### 一、软件架构设计的重要性与挑战 软件架构设计作为软件开发过程中的关键环节,对整个软件系统的成功至关重要。一个合理的软件架构能够有效地解决软件开发过程中面临的各种问题,比如提高软件的可维护性、可...