"Custom Settings are hidden gems in Apex that always impresses people, especially bosses!" but the next question that stands is "How?" As shared by David Liu in his site sfdc99.com Consider a block of code that is executing and sending out different results for different input types but those inputs are not managed within the code. Its managed outside, by someone else. Being a developer, your task is reduced as all you have to do is to enable your code to understand those external values from some external object and use them for different outputs. Custom settings are very useful when it comes to storing static or reusable information in Salesforce, plus it also can work as a switch to turn your application rules ON and OFF. Very basically speaking, Custom Settings are much like Custom Objects and are accessible via their own API, but you can’t have triggers on a Custom Setting and the available field types are more limited. They do count towards your Cu...
Metadata is something that defines the overall organizational structure. And then if you can create your own,custom types as per your requirements, how good that would be? Hell yeah.!! Post summer 15, you can create your own metadata in Salesforce. AWESOME.!!!! Custom metadata is customizable, deployable, packageable, and upgradeable application metadata. A custom metadata type is defined as a custom object and is stored in the objects folder. Custom metadata types have a suffix of __mdt (instead of __c for custom objects). Custom metadata type field names have a suffix of __c, like other custom fields. Custom metadata type field names must be dot-qualified with the name of the custom metadata type to which they belong. (SOURCE: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_custommetadatatypes.htm) The records of custom metadata types are metadata This means that, unlike custom objects or custom settings records, the records of custo...