`
javatar
  • 浏览: 1710482 次
  • 性别: Icon_minigender_1
  • 来自: 杭州699号
社区版块
存档分类
最新评论

平台开发基础原则制定

阅读更多
最近在构想一个新的内部使用平台,发现首先要确立一些的根本性的原则,作为设计指导,使各模块设计人员都能保持一致的方向,只有先确定了这些基础原则,在开发决策时,大家才不会争论不休,包括:
1. 强类型,还是弱类型?Bean对象,还是Map集合?
(1)Map的好处在于:可以统一数据模型,并作为上下文或数据总线处理,可以不用生成代码,就能对CRUD等基本功能,作运行时封装,适合于快速开发。
(2)Bean的好处在于:强类型,明确的契约接口,调用者与被调用者都能很明确的知道需要什么,符合领域驱动设计的思想,便于后期维护,适合于长期产品。

2. 零代码,还是零配置?还是全图形?
(1)像OFBiz等框架,提倡零代码开发,也就是全配置,
通过一个XML,配置一下实体字段,搜索条件,显示列,菜单,工作流等,就能完成大部分资源管理类功能,
在特殊功能时,通过配置回调Java接口,来调用部分Java代码逻辑,
好处就是所谓的简单,不需要懂Java也能开发。
坏处也显而易见,灵活性差,性能差,IDE支持差,重构能力差(需全文搜索),开发不方便(不能调试),不能使用继承,多态等面象对象复用功能,程序员不愿意天天写配置,离职率高。
(2)而现在流行的开源项目,都开始提倡零配置开发,通过注解等,尽可能在代码中集中处理,
好处是:IDE支持好,易于重构,易于开发,不需要在配置与代码之间来回工作。
坏处是:与注解框架强耦合,背离IoC/DI的无侵入原则,修改关联时,需重新编译。
(3)像EOS等平台和一些基于UML的MDA设计器,提倡全图形开发,
通常由图形化的业务逻辑,页面功能逻辑,流程逻辑拼装而成,通过生成代码,或者使用一个引擎运行时解析图形配置。
好处是:给人一种绚丽高档的感觉,更易忽攸客户,在简单的增删改查逻辑下,开发方便。
坏处是:与特定的IDE捆绑,成熟的产品不多,通常不稳定,开发繁琐,维护困难,性能差,复用能力差,不能使用多态,继承等,逻辑稍复杂时,看图形蜘蛛网,比看代码更痛苦,程序员抵触,离职率高。

3. 从领域实体生成数据库,还是从数据库导出领域实体?
这里主要是考虑设计人员,是先做领域UML建模,还是E-R建模。
(1)从领域实体生成数据库,可以使领域模型设计更合理,包括组合关系,聚合关系,继承关系等,这样软件的设计也会更合理。
(2)而从数据库导出领域实体,可以使表结构设计更合理,很多人说,数据比程序的生命周期更长,程序不用了,可能数据还在继续使用。
当然,手工映射可以做得更好,但工作量会翻倍。

4. 快速? 高效? 灵活? 稳定? 扩展? 重用? 易于实施?
如果能全部做到,当然最好,但有些特性通常是互斥的,
在平台开发初期就应该确定优先顺序,孰轻孰重。

当然还有其它一些如:开发方式,封装重点,控制粒度,特性权衡,组件选型原则等等,待整理。
5
0
分享到:
评论
5 楼 javatar 2008-11-12  
yanfei133 写道

什么平台 ,你凑我的代码,我凑你的代码,搞到最后一锅粥,吃完了不光饱不了,还突然发现有颗老鼠屎

呵呵,确实是这样,但是还得做。
4 楼 yanfei133 2008-11-12  
什么平台 ,你凑我的代码,我凑你的代码,搞到最后一锅粥,吃完了不光饱不了,还突然发现有颗老鼠屎
3 楼 javatar 2008-11-11  
upheart 写道

国内到处都是平台啊,小心为妙

呵呵,是的,因为有些平台不能做得太通用,否则那些大公司早就搞定了,自给自足的平台,也有它的优势。
2 楼 upheart 2008-11-11  
国内到处都是平台啊,小心为妙
1 楼 gurudk 2008-11-11  
别搞太大了,小快灵,越简单越好

相关推荐

    系统开发基础知识

    在"系统开发基础知识"中,软件工程原则是核心部分。这包括需求分析,它是项目开始时的关键步骤,需要明确和细化用户需求;设计阶段,需要创建系统架构和详细设计文档;编码阶段,遵循编程规范,确保代码质量;测试...

    第一章油田开发基础及开发方案.pdf

    在制定油田开发方案时,需要深入理解油气田开发的基础知识和基本原理,例如不同驱动方式对产能的影响、层系划分原则、注水方式的选择、井网密度计算以及经济评价方法。 油田开发方案的主要内容涵盖多个油藏工程问题...

    电脑游戏设计与开发基础

    《电脑游戏设计与开发基础》是一门针对游戏开发初学者的课程,旨在提供全面的游戏制作基础知识。这门课程涵盖了从游戏概念设计到实际开发的各个环节,对于自学游戏开发的学员来说,是很好的学习资源。标签“自考”...

    软件开发基本原则.pdf

    开发基础涉及有效的项目管理活动,如制定计划、管理需求和技术审查。风险管理则关注识别和控制可能影响项目的风险。面向进度的实践旨在提升开发速度、降低计划风险和提高进程可视化,确保项目按期推进。 软件开发的...

    软件开发基础3

    在“软件开发基础3”的学习过程中,你需要掌握如何使用Visual Basic进行编程,理解软件工程的基本原则,应用项目管理技巧,并熟悉解释型语言的工作原理。同时,通过阅读和参考提供的文档和学习资料,可以加深对整个...

    油田开发基础知识PPT学习教案.pptx

    【油田开发基础知识】是石油行业中一项至关重要的环节,它涵盖了从发现油田到高效开采的一系列过程。油田开发涉及多个方面,包括地质勘探、方案设计、井网部署、注水方式等多个关键技术。 首先,油田开发的概念是指...

    基于Andriod的移动学习平台的设计和开发原则

    1. 对学习者进行分析:以学习者的需求为核心原则,满足其基础知识点的同时,激发学习者的学习兴趣。 2. 设计学习活动:结合学习内容和目标,制定针对性的教学策略和学习活动。 3. 采用个人和小组相结合的学习模式:...

    软件开发基本原则收集.pdf

    - **打好开发基础**:包括制定计划、管理需求和进行技术审查等,确保项目基础稳固。 - **管理风险**:识别并控制可能影响项目的风险,特别是与进度相关的问题。 - **面向进度的实践**:提高开发速度,降低计划...

    特色小镇信息化平台开发运营建设方案-智慧小镇信息化平台建设方案.doc

    34项主要建设任务涉及基础设施建设、系统开发、数据整合、标准规范制定等多个方面,以确保系统的完整性和有效性。 2.4 系统总体结构和逻辑结构 - 整体技术架构:采用分层分布式架构,包含基础层、应用层、展示层等...

    油田开发基础知识PPT课件.pptx

    【油田开发基础知识】 油田开发是石油工业中的关键环节,它涉及从发现油田到稳定生产的全过程。油田开发的核心目标是高效、经济地开采石油资源,满足市场需求。以下是关于油田开发的一些关键知识点: 1. **油田...

    2018年0806信息系统设计开发原则.doc

    【信息系统设计开发原则】 在设计和开发信息系统时,遵循一系列原则是至关重要的,这些原则确保了系统的高效性、稳定性和可持续发展。以下是主要的设计原则: 1. 统一设计原则:这一原则强调在规划和设计信息系统...

    DQG-LPG电子商务平台总体结构设计原则与技术路线

    1.3 安全性:保护用户数据和交易安全是电子商务平台的基础。设计中需要强化身份认证、数据加密、防火墙策略、防DDoS攻击等安全措施。 1.4 用户体验:良好的用户体验是平台成功的关键。因此,设计时需考虑界面友好、...

    《软件系统架构和开发基础教程》 -- 精品课程教材

    总的来说,《软件系统架构和开发基础教程》是一本全面介绍软件开发基础知识的教材,涵盖了从语言选择、架构设计到开发流程等多个方面,旨在帮助读者理解和掌握构建高效、稳定的软件系统所需的关键技能。

    优质资料(2021-2022年收藏)软件开发基本原则.doc

    同时,建立坚实的开发基础,如制定明确的计划、管理需求、进行技术评审等,也是至关重要的。 3. **风险管理**:评估和控制可能影响项目的潜在风险,对于确保项目的顺利进行至关重要。这包括对需求理解不准确、架构...

    高职专业人才培养方案制定的原则和方法.pptx

    【高职专业人才培养方案制定的原则和方法】 高等职业教育作为高等教育的重要组成部分,其专业人才培养方案的制定对于确保人才培养质量具有决定性作用。制定方案时,需遵循一系列原则,以确保方案的有效性和适用性。...

    特色小镇信息化平台开发运营建设方案 智慧小镇信息化平台建设方案.doc

    2.1 总体设计原则:遵循先进性、实用性、可扩展性和安全性原则,确保平台在满足当前需求的同时,具备未来发展的潜力。 2.2 总体目标:通过信息化手段,实现小镇管理的高效、便捷和透明,提升小镇的吸引力和竞争力。...

Global site tag (gtag.js) - Google Analytics