跟有的架构师打交道时间长了,发现有的架构师特别爱拿别人的东西封装抽象一下,甚至每个项目的方方面面都言必封装抽象。举个极端例子来说。都知道Java对象都继承于java.lang.Object,有的的架构师,通常写一个MyObject(继承Object),然后要求开发人员的类都继承此类。
封装抽象癖好带来过度设计,从而引发学习难,开发难,调试难,运行慢,以及更难扩展和适应变化。这些癖好原因我可以归纳为架构师的几个如下问题。
1 妄图解决扩展性问题。 由于需求不清楚,或者架构师对需求不完全理解,他需要通过抽象或者封装来适应将来的变化。然而,就我个人经验来说,即使不抽象和封装,一定限度的需求变化也能用别的办法来解决,如改代码,使用重构工具。
2 妄图解决重用。架构师当然想着自己的产品能用好多年并且也能用到别的项目上去,然后事实常不是这样。为了将来所谓的能重用,带了成本和风险都很大的。我同事曾向他的项目经理诉苦:“这样的重用10后都不一定用不到,现在按照这个方式开发太麻烦了”
如果前面俩个还是架构师的好的一面,那下面俩点就是架构师的阴暗面了
3 由于自己对所用技术和产品不熟习,因此让人封装成自己理解的模型,或者API。譬如架构师对Portlet规范不熟悉,自己只知道Servlet,因此要求开发人员对Portlet进行封装。再比如,架构师对Flex不熟习,因此要人实现某某Flex框架,妄图让开发着不会 Flex情况下也能开发Flex代码(这可能么!!!)。
4 为了显示自己有水平,项目所有的技术都是由他提供的,架构师把所有用的技术都包一个皮,所谓的MyObject,MySpring,MySchedule等等,声称是自己写的。不明就里的开发人员因此对他很崇拜,公司领导也认为此架构师水平了得。这样的架构师我是最痛恨的。因为他已经远离了技术,走向了“政治”,带来的还是学习难,开发难,调式难,运行慢。
其实任何技术和架构,如果架构师都能把握本质,熟练应用,也不会像这样的架构师言必谈封装和抽象。就像倚天屠龙记里 张三丰问张无忌还记得刚才学的招式么,张无忌说我不记得了。
分享到:
相关推荐
天翼云认证解决方案架构师题库知识点,帮你直接通过天翼云解决方案架构师认证考试。天翼云认证解决方案架构师题库知识点,帮你直接通过天翼云解决方案架构师认证考试。天翼云认证解决方案架构师题库知识点,帮你直接...
1. 抽象思维能力:架构师需要具备抽象思维能力,能够对系统进行抽象和概括。 2. 概念抽象能力:架构师需要具备概念抽象能力,能够对概念进行抽象和概括。 3. 模型化能力:架构师需要具备模型化能力,能够对系统进行...
架构师的核心职责是全面理解业务需求,基于模型和基础模式进行抽象和简化。他们需要提出恰当且可行的整体解决方案,同时在有限的资源范围内完成明确目标,确保系统质量,并满足业务需求。此外,架构师还需保证系统的...
架构师,这个在IT领域充满着技术智慧与策略智慧的词汇,不仅代表着一个职位,更是对个人专业能力及综合素质的极大认可。随着技术的不断进步和业务需求的日益复杂化,架构师的角色越来越凸显其重要性。《架构师》系列...
《架构师成长之路》这本书是为那些志在成为优秀架构师的IT专业人士量身打造的指南。它深入探讨了架构师的角色、职责以及如何在职业生涯中逐步提升自己的技能和视野,以适应快速变化的IT环境。 一、架构师的角色与...
测试架构师在软件开发行业中扮演着至关重要的角色。从简单的测试执行者到架构师级别的测试专家,职业晋升的道路上充满了挑战与机遇。《测试架构师修炼之道:从测试工程师到测试架构师1》这本书,就是为了指引那些...
但仅掌握这些还不够,架构师还需要具备抽象思维和模型化表达的能力。抽象思维是将复杂系统拆解成可管理的部分,而模型化则是将这些抽象概念转化为易于理解和实施的模型,这对于系统设计至关重要。 其次,人际关系...
系统架构师的学习笔记,通常是资深架构师或者对架构有深入研究的专业人士根据个人经验和学习总结所撰写的学习资料,它可以帮助开发工程师向系统架构师的职业发展道路上迈进。 从提供的内容来看,系统架构师的学习...
1. **架构设计原则**:书中会详细介绍如何根据业务需求选择合适的技术架构,如分层架构、微服务架构、事件驱动架构等,并讲解如何应用模块化、抽象、封装、继承和多态等设计原则来创建可维护的系统。 2. **架构模式...
1. 抽象层次的概念:架构师需要了解抽象层次的概念和应用,包括如何将解决方案分解到抽象层次上,以及如何应用抽象层次来处理复杂性。 2. 系统设计:架构师需要了解系统设计的基本原则和方法,包括如何将系统分解到...
系统架构师需要掌握一系列的技术和理论知识,这些内容在“系统架构师教程.pdf”中得到了系统的介绍和阐述。 首先,系统架构师需具备扎实的计算机网络基础。计算机网络是现代信息系统不可或缺的组成部分,架构师应...
java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级架构师教程,java 高级...
《完整版—架构师之路(58沈剑)》是一份深入探讨软件架构设计与实践的宝贵资料,共计322页,由业界知名专家沈剑编著。这本书旨在为那些希望成为优秀架构师或者正在从事架构工作的专业人士提供一套全面的知识体系和...
《软件架构师:构建高效系统的关键》 在信息化社会中,软件架构师的角色日益凸显,他们不仅是技术专家,更是项目中的灵魂人物。软件架构师负责设计和规划软件系统的整体结构,确保系统的可扩展性、可维护性和性能。...
云原生Kubernetes全栈架构师实战 云原生Kubernetes全栈架构师实战是指通过Kubernetes构建高效、可扩展的云原生应用,并成为全栈架构师。为了达到这个目标,需要了解Kubernetes的核心概念、安装和配置、核心组件等。...
软件架构师作为一个专业领域的高级职位,其核心职能包括确保软件系统的稳定性、可扩展性和安全性等。根据提供的文件内容,软件架构师应该了解的知识和技能是多维度的。以下是对文件内容中提到的关键知识点的详细阐述...
系统架构师是一个在IT行业中至关重要的角色,他们负责设计、规划和实施复杂的计算机系统,以满足业务需求。历年高级系统架构师真题是备考这一专业资格考试的重要参考资料,涵盖了从2009年至2017年的历年试题,旨在...