Trailhead - Apex & .NET basics

https://trailhead.salesforce.com/content/learn/modules/apex_basics_dotnet/mapping_concepts?trailmix_creator_id=strailhead&trailmix_slug=prepare-for-your-salesforce-platform-developer-i-credential

摘要

1 platform是metadata-driven

声明式开发

面向对象:封装、抽象、

数据类型

string是基本类型

Enum的序号从0开始

集合类型只要三种 list set map

set:无序但内容不重复

map用于快速基于key找到某个值

 

VF:

view state 

 

apex: 它与数据库高度耦合, 所以删除一个字段时如果代码引用它,则会报错

unit test是必须的

没有solution / project / config file 不需定义路由

class library比较小。 有些功能会找不到。可考虑用heroku实现。

编写工具:developer console, VS code, salesforce CLI

 

数据集成

REST/SOAP web service

Email automation / outbound messages

执行环境

系统执行的除了你写的代码之外 还会有其他东西 

触发apex执行的方式:

trigger, anonymous apex, async apex (future之类),web service, email service, VF / Lightning 

除了apex之外,页面操作也会触发其他action,这些action也是在一个执行环境中运行。

另注意,代码是以谁的身份运行。默认是以system context. 在with sharing的情况下,会考虑当前用户的sharing rule。

Trigger:

它的几种event

另有一些automation tools可以替代它

最佳实践是每个object只用一个trigger

Log中,Code_Unit_Started和Code_Unit_Finished之间的,就是 execution context

这些代码在同一个context中,共享同一个limit 

避免limit 

1. 批量操作

2.避免在循环中dml

 

并没有application / session这样的概念用于共享数据,可以用static 变量来共享数据,但是这只能在同一个transaction中。

异步apex

1.处理大量数据

2. call out, 它可能处理时间比较长,trigger不能直接调用

3. 给用户快速体验,避免不必要的等待

 

future方法

1.不能跟踪运行情况

2. 参数只能是基本类型或基本类型的集合

3. 不能future call future

 

batch / scheduled apex

用于处理大批数据

缺点:不容易定位错误

运行时间不确定

queueable

1. 参数比future更灵活,允许object

2. 可以有一个job Id用于跟踪

3. 可嵌套调用

 

 Apex Flex Queue 避免了5个concurrent batches的limit

Debug

1. 有各种debug level

2. developer console中关于Debug > Switch Perspective界面的设置

3. check point的使用

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值