前端JS

不同的需求应该划分模块,以便日后修改,也是为了职责分离,模块分离,日后如果想分离到单独的JS文件里面也是比较方便;

对于公共的查询函数,应该做缓存,优先使用sessionStorage。

多个查询可以并行的,就并行查询。

通常一个需求会同时在onload和onchange中同时调用,需要区分的不同点,不要在onload中调用setValue函数

在性能要求不是很极致的情况下,addOnChange写在代码里面管理起来更方便,而不是定义在from中

插件开发

应该多利用pre-Validation阶段,该阶段不会进入事务,也就是说业务规则校验的时间不会影响事务执行时长,当处在事务中的记录会被锁定,缩短事务时长可以让记录尽快的释放锁,减少系统阻塞时间。

对于非本实体的操作,利用异步的postUpdate,可以让插件效率更高。举个例子,case关闭之后更新客户的某个字段,在case状态更新之前,主要的处理逻辑放在PreCaseUpdate里面;当case状态更新之后,注册在PostCaseUpdate中并设置为后台执行的插件处理更新客户字段逻辑。这样做的好处是:1. 调用SDK更新case状态的操作效率更高,不会受更新客户的逻辑影响。2. 当系统开放接口更新case的时候,接口性能更高且可以复用插件逻辑;而不是因为插件性能问题,跳过插件,在接口中重写一遍更新客户的逻辑。

工作流开发

不要在工作流中写过多业务逻辑,尽量做成可配置的步骤,这样,在某个步骤失败时在客户端就知道,而不是在Trace中查找。

集成开发

集成必须有管控,需要知道系统跟哪些外部系统做了集成,接口清单需要明确,且可管理,比如说可以随时停用;而不是让外部系统直接调用SDK。

集成需使用https协议、访问外部系统配置跨域。

基础设施

消息队列,缓存,日志

架构

  部署架构:

  微服务

技术架构:

  API gateway、高可用、前后端分离、主备库

记D365开发的最佳实践的更多相关文章

  1. Struts2、Spring、Hibernate 高效开发的最佳实践(转载)

    Struts2.Spring.Hibernate 高效开发的最佳实践 Struts2.Spring.Hibernate(SSH)是最常用的 Java EE Web 组件层的开发技术搭配,网络中和许多 ...

  2. ES6 开发规范-最佳实践

    ES6 开发规范(最佳实践) 本文为开发规范,收集方便日后查看. [开发规范]https://blog.csdn.net/zzzkk2009/article/details/53171058?utm_ ...

  3. (转)Android开发:性能最佳实践-管理应用内存

    翻自:http://developer.android.com/training/articles/memory.html 在任何软件开发环境中,RAM都是宝贵的资源,但在移动操作系统中更加珍贵.尽管 ...

  4. [Docker] 容器开发环境最佳实践理论

      保持 image 小       选择合适的 base image.       使用 multi-stage 构建. https://docs.docker.com/develop/develo ...

  5. 8102 年的现代 Web 开发最佳实践(笑)

    简评:8102 年了,现在 web 开发的最佳实践是什么,让本文来告诉你.原文只提到一部分,可以查看 reddit 上对此文的评论查看补充的最佳实践 https://old.reddit.com/r/ ...

  6. Go单体服务开发最佳实践

    单体最佳实践的由来 对于很多初创公司来说,业务的早期我们更应该关注于业务价值的交付,并且此时用户体量也很小,QPS 也非常低,我们应该使用更简单的技术架构来加速业务价值的交付,此时单体的优势就体现出来 ...

  7. 17条 Swift 最佳实践规范

    本文由CocoaChina译者小袋子(博客)翻译自schwa的github主页原文作者:schwa 这是一篇 Swift 软件开发的最佳实践教程. 前言 这篇文章是我根据在 SwiftGraphics ...

  8. ​结合异步模型,再次总结Netty多线程编码最佳实践

    更多技术分享可关注我 前言 本文重点总结Netty多线程的一些编码最佳实践和注意事项,并且顺便对Netty的线程调度模型,和异步模型做了一个汇总.原文:​​结合异步模型,再次总结Netty多线程编码最 ...

  9. Web前端开发最佳实践(4):在页面中添加必要的meta信息

    meta标签放置在HTML页面的head中,主要用于标识网站.其中基本上包含了网站的一些描述信息,例如,简介.作者等.这些信息有助于搜索引擎更准确地识别网页的内容,也有助于第三方工具抓取网站基本信息. ...

  10. 快速web开发中的前后端框架选型最佳实践

    这个最佳实践是我目前人在做的一个站点,主要功能: oauth登录 发布文章(我称为"片段"),片段可以自定义一些和内容有关的指标,如“文中人物:12”.支持自定义排版.插图.建立相 ...

随机推荐

  1. Typopa软件和计算机的基本内容

    Typopa软件和计算机的基本内容 TYPORA软件markdown的运用 输入#按空格键输入文本就形成了一个标题(几个#就是几级标题最高六级)或者ctrl加数字数字几就是几级标题. 输入*加空格就形 ...

  2. VBA 常用知识点

    VBA对象传参 首先主函数中必须定义参数的类型 函数调用语法为 函数名 参数1 参数2 被调用函数中定义传参是否引用(byref)还是重新建立一份数据(byval) 代码示例 Sub auto_cou ...

  3. Spark应用程序第三方jar文件依赖解决方案

    第一种方式 操作:将第三方jar文件打包到最终形成的spark应用程序jar文件中 应用场景:第三方jar文件比较小,应用的地方比较少 第二种方式 操作:使用spark-submit提交命令的参数: ...

  4. 记录将Base64字符串转化为图片遇到的问题

    今天通过与别人写的api交互,获取到了一个原为图片的base64字符串,在网上找到了相互转换的方法,但是在转化时,报出了"输入不是有效的 Base64 字符串,因为它包含非 base 64 ...

  5. vue-表格拖拽

    1. el-table结合sortable 参考:https://blog.csdn.net/weixin_42460570/article/details/125765599?ops_request ...

  6. Kubernetes--Pod节点选择器nodeSelector(标签)

    Pod节点选择器是标签及标签选择器的一种应用,它能够让Pod对象基于集群中工作节点的标签来挑选倾向运行的目标节点. Kubernetes的kube-scheduler守护进程负责在各工作节点中基于系统 ...

  7. [WSL-1-Ubuntu]使用oh-my-zsh美化你的WSL(附脚本)

    在腾讯云买的那个1c2g的服务器,想用mycat搭建一个mysql cluser,用docker部署了一主一从内存就没了一半,可一主一从没啥作用,起码也得2主2从吧?而且还有HA呢,但内存和钱包不给力 ...

  8. i春秋云镜 CVE-2022-32991

    第一种方法 第二种延时注入

  9. JS 代码片段 / 预编译/预解析 /执行上下文/ECG/EC/ECS/GO/VO/AO

    代码段概念 一个 script 就是一个代码段 在一个页面中可以有多个代码段 每一个代码段, 彼此独立的, 如果上面的代码段报错了, 不会影响下一个代码段 referenceError 引用错误 下面 ...

  10. CentOS7 设置防火墙、开放指定端口操作

    1, 查看防火墙状态: firewall-cmd --state systemctl status firewalld.service 2, 开启防火墙: systemctl start firewa ...