ways to access Sharepoint object model

/// Basically there are three kinds of accessing Sharepoint 2010 Object model.
1) If the code is running on the Sharepoint Server, then use Sharepoint ServerSide API Model.
2) Client utilities, such as Silverlight Clients, Windows Forms, … etc can be written using Managed Client Object Model
2.1) this can be done by Client.dll and Runtime.dll way: microsoft.sharepoint.client.dll and microsoft.sharepoint.client.runtime.dll
2.2( WCF Data Services (formerly ADO.NET Data Services): /_vti_bin/listdata.svc this is the best way since there is no need to include and deploy even lightweight dlls.
3) If we need to access Sharepoint via AJAX, use Javascript Client Object Model