Trailhead - Apex & .NET basics

本文介绍了Salesforce平台的编程语言Apex的基础知识,包括面向对象特性、数据类型、集合使用等,并探讨了Apex与数据库的紧密耦合,单元测试的重要性,以及执行环境和触发器的最佳实践。

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的使用

 

完成 Salesforce Trailhead Hands-on Challenge 涉及以下几个关键步骤,以确保能够顺利通过验证并积累积分和徽章: ### 1. 登录 Trailhead 并选择合适的模块 访问 [Trailhead](https://trailhead.salesforce.com/) 网站并使用 Salesforce 开发者账户或 Trailhead 账户登录。浏览模块(Modules)或项目(Projects)部分,选择一个包含 Hands-on Challenge 的模块。这些模块通常会明确标注包含实践挑战。 ### 2. 配置开发者组织(Dev Org) Hands-on Challenge 通常需要连接到一个 Salesforce 开发者组织(Dev Org)。如果没有现成的 Dev Org,可以通过 Trailhead 自动创建一个。在模块的挑战页面中,点击“启动 Org”按钮,Trailhead 将会为你生成一个临时的 Salesforce 开发环境。 ### 3. 完成模块中的学习内容 在开始 Hands-on Challenge 之前,建议先完成模块中的理论学习部分。这些内容通常包括视频教程、文档阅读和小测验,帮助理解挑战所需的背景知识和配置步骤。 ### 4. 进入 Hands-on Challenge 并执行任务 进入 Hands-on Challenge 页面后,系统会列出具体的任务要求。这些任务可能包括: - 创建自定义对象或字段 - 配置流程或自动化规则 - 设置页面布局或权限 - 编写 Apex 代码或 Lightning 组件 确保严格按照挑战说明进行操作,避免遗漏任何步骤。 ### 5. 验证并提交挑战 完成所有任务后,点击“检查挑战”(Check Challenge)按钮。系统会自动验证是否满足所有要求。如果验证通过,即可提交挑战并获得相应的积分和徽章。 ### 6. 常见问题与解决方法 如果挑战验证失败,可以检查以下内容: - 确保所有字段、对象或流程的名称与要求完全一致 - 确认权限设置正确,例如用户配置文件(Profile)或权限集(Permission Set)是否已分配 - 检查是否遗漏了某些步骤或未启用特定功能(如 Lightning Experience 或 Einstein 功能) --- ### 示例:完成一个简单的 Hands-on Challenge 的 Apex 代码 假设挑战要求创建一个自定义对象并编写触发器来更新字段值,可以参考以下代码: ```apex trigger UpdateCustomField on Account (before insert, before update) { for (Account acc : Trigger.new) { if (acc.Name != null) { acc.Custom_Field__c = acc.Name.uppercase(); } } } ``` 此代码会在 Account 对象的名称字段更新时,自动将自定义字段 `Custom_Field__c` 设置为名称的大写形式。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值