Andy in the Cloud

From BBC Basic to Force.com and beyond…

22 thoughts on “Force.com Enterprise Architecture Second Edition 

  1. So awesome that this is out. Congratulations on this milestone! Just purchased two prints 🙂

  2. Great work. Just purchased a copy.

  3. Pingback: Force Enterprise Architecture by Andy in the Cloud – SutoCom Solutions

  4. Was waiting for it, purchased on Fri and it seems like Packtpub is selling printed+electronic book for 50% off now – $30.00!

  5. Pingback: Force.com Enterprise Architecture Second Edition  | Lahiru's Tech Blog

  6. Hmm… posted on 1st April… this ain’t no April fool!! As that would just be mean! 🙂

  7. I have a copy on my desk! I only recently discovered the fflib repo and I am so grateful that this stuff exists. Brilliant work, you and all the other contributors who made this stuff!

  8. Just purchased 3 copies for our Salesforce Development team! The First Edition was a staple on our desks! Great stuff! Keep it up!

  9. Have second edition after being big fan of first edition. Trying out ApexMocks today and noted that examples on pages 417-418 have an issue with reference to method: mocks.factory(someType). There is no `factory(..)` method in fflib_ApexMocks.cls. I surmise (based on Readme) these should be mocks.mock(someType). I saw no errata on Packt site for this book nor is the eBook amended. Be worth updating https://andyinthecloud.com/2015/03/29/unit-testing-apex-enterprise-patterns-and-apexmocks-part-2/ to exploit latest – especially since it still includes notes about generating classes, a real turn off for some devs

  10. One more errata point – pg 417, testing a VF Controller — the line ‘Application.Service.setMock(RaceService.class,mockService);` I believe should be ‘Application.Service.setMock(IRaceService.class,mockService);’ Took me a while to figure this out as I had used this example as a template for my own VF Controller. I see that https://github.com/financialforcedev/fflib-apex-common-samplecode/blob/d44a3fb6e7d562b556152e0f07f4bff2564adf6a/fflib-sample-code/src/classes/OpportunityApplyDiscountControllerTest.cls line 40 uses the Interface as the first argument.

  11. Minor additional errata points.

    Pg 421 “Unit Testing a Selector method” – sentence “As this is currently not possible, there is little benefit in mocking selector classes” – the sentence is a bit awkward because one mocks selector classes all the time, to wit pg 418. I know what you are trying to say here – perhaps “As this is currently not possible, there is little benefit in mocking selector classes in order to unit test the selector – where the words “to unit test” are in italics.

    p 419 – second bullet. It is critical that the mock UoW, Selector & Domain objects inherit from ffLib_SobjectUnitOfWork, fflib_SobjectSelector & fflib_SobjectDomain, respectively as otherwise the setMock(..) call won’t compile. A bit of elaboration / reminder on why interfaces are used throughout the fflib pattern for the SoC layers but are not used when it comes to mocking would be super helpful. Service layer is handled slightly differently as per setMock example on pg 417 (updated per August 9, 2017 0453h errata point above)

  12. additional errata (from printed book) – on page 138, you assert that RaceService.awardChampionShipPoints(setraceIds) is an example of non-bulkified code yet four (4) pages later, on p 142, you assert “A better contract to the caller is to just ask for what is needed, in the following example, the IDs: RaceService.awardChampionShipPoints(setraceIds). Identical code!

    As an fflib user, I prefer the second and hence would suggest removing the sentence/example on p 138 (or changing it)

  13. Pingback: O Salesforce s Markem Kosářem - Blog Martina Humpolce

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s