I haven't seen the video but a quick note...
An added note on another comment made in the book regards the number of assemblies used and the relative sizes of each one. It is stated that using larger assemblies with more code in them is better than using a large number of smaller assemblies, since each assembly is subject for remapping within a processes working set when loaded separately. Of course, common sense must be used to avoid having large assemblies containing code that should not be together in the same package for deployment, semantic, or other reasons.
In general, I have gone to a structure where I have two or three common base framework assemblies (one for common utilities, abstract factory implementations, and definitions ([some meaningful name].Common), one for base data access classes ([SMN].Data), and one for base user interface classes and model ([SMN].Web or [SMN].Windows/WinForms/WPF).
After this, I have one or two assemblies per major function area (e.g., blogging, customer management, accounting, whatever-general-stuff-app-does, etc.). One or two depends on whether I expect multiple versions of the app (web and windows smart client) or if there will be a separate web service interface to the entire function area. In those cases, I separate the business logic component (usually just named [SM Namespace].Accounting or [SM Namespace].CRM with no BLL or anything) from a component that might define custom server controls or web parts specific to that area of function ([SM Namespace].Accounting.Web as an example).
I have tried multiple structures from monolithic ones where there is one assembly for everything to decomposing features, functions, tiers, and platforms to the point that I had at minimum three assemblies for everything done on a site (e.g., [SMN].Data, [SMN].Domain, [SMN].Presentation, etc.). The structure I described in the last paragraph seems to be the happy medium.
I am interested in comments or alternative opinions, however.