"value":"\n <p><a href=\"\/\/daily\/2024\/03\/04\/why-you-need-layers-in-your-application-code\">Yesterday<\/a>, I wrote about writing layers in your application code and the benefits of loosely coupled code.<\/p>\n\n<p>Something else you can do with this approach is to write framework-agnostic code.<\/p>\n\n<p>By writing your business logic in code that isn't tied to a specific framework or CMS, with a small adapter layer, you can upgrade to a newer version of the framework, such as Drupal 7 to 10, or a different framework, keep most of the code the same and only update the parts that connect the business logic and the framework.<\/p>\n\n<p>This is something that Commerce Guys (now Centarro) did when creating Drupal Commerce 2.0.<\/p>\n\n<p>The logic around addressing, tax, etc., was released in separate PHP libraries, each with its own release cycle and reusable logic.<\/p>\n\n<p>This meant the Drupal modules were much smaller, and other eCommerce systems and frameworks could use the agnostic libraries.<\/p>\n\n<p>It's something to consider when writing your next Drupal module.<\/p>\n\n<p>It's something <a href=\"https:\/\/github.com\/opdavies\/national-rail-enquiries-feed-parser\">I did recently<\/a> and have done on client projects previously, and it can be a good approach.<\/p>\n\n ",
"processed":"\n <p><a href=\"http:\/\/default\/daily\/2024\/03\/04\/why-you-need-layers-in-your-application-code\">Yesterday<\/a>, I wrote about writing layers in your application code and the benefits of loosely coupled code.<\/p>\n\n<p>Something else you can do with this approach is to write framework-agnostic code.<\/p>\n\n<p>By writing your business logic in code that isn't tied to a specific framework or CMS, with a small adapter layer, you can upgrade to a newer version of the framework, such as Drupal 7 to 10, or a different framework, keep most of the code the same and only update the parts that connect the business logic and the framework.<\/p>\n\n<p>This is something that Commerce Guys (now Centarro) did when creating Drupal Commerce 2.0.<\/p>\n\n<p>The logic around addressing, tax, etc., was released in separate PHP libraries, each with its own release cycle and reusable logic.<\/p>\n\n<p>This meant the Drupal modules were much smaller, and other eCommerce systems and frameworks could use the agnostic libraries.<\/p>\n\n<p>It's something to consider when writing your next Drupal module.<\/p>\n\n<p>It's something <a href=\"https:\/\/github.com\/opdavies\/national-rail-enquiries-feed-parser\">I did recently<\/a> and have done on client projects previously, and it can be a good approach.<\/p>\n\n ",