1. To make the lemon cake, preheat the oven to 350 degrees F. Butter the bottom and sides of two 9-inch round cake pans. Dust the pans with flour and tap out the excess.
2. In a medium bowl, sift together the flour, baking powder, baking soda, and salt. Stir together the dry ingredients with a whisk. Set aside.
3. In an electric stand mixer, using the paddle attachment or beaters, beat the butter on medium speed for about 30 seconds, or until creamy. Gradually add the sugar, increase the speed to medium-high, and continue to beat until the mixture is light, about 3 minutes. Scrape down the sides of the bowl.
4. Add the whole eggs and egg yolks, one at a time, beating well after each addition. Beat in the vanilla and lemon zest. Reduce the speed to low and gradually beat in he lemon juice (the batter will appear curdled at this point smooth out after you add the dry ingredients). Beat in the dry ingredients in 3 additions alternately with milk in 2 additions. Scrape down the sides of the bowl and beat for another 10 seconds. Scrape the batter into the prepared pans.
5. Bake the cakes for 20 to 25 minutes, or until a toothpick inserted into the center of each cake comes out clean. Cool the cakes in the pans on wire racks for 20 minutes. Invert the cakes onto the rakcs and cool completely.
6. To make the lemon filling, in a medium nonreactive saucepan, whisk together the yolks and sugar until combined. Whisk in the lemon juice, butter, and salt. Cook over medium-low heat, stirring constantly with a wooden spoon, for 5 to 6 minutes, or until the mixture turns opaque, thickens, and coats the back of the spoon. Do not let the filling boil, or it will curdle. Pour the mixture through a fine mesh sieve into a medium bowl. Stir in the lemon zest and allow the filling to cool.
7.Cover with plastic wrap, pressing directly onto the surface, and refrigerate for 1 hour, or until chilled.
8. In a clean bowl of the electric mixer, using the whisk attachment or beaters, beat the heavy cream on high speed until soft peaks form. Remove the lemon filling from the refrigerator and whisk until smooth. Using a rubber spatula, gently fold the whipped cream into the filling. Cover the bowl and refrigerate the filling until ready to assemble the cake.
9. To make the lemon frosting, in the large bowl of the electric mixer, using the paddle attachment or beaters, beat the butter on medium speed until creamy, about 30 seconds. Gradually beat in the confectioners' sugar on low speed. Add the cream, lemon juice, vanilla, and lemon zest. Increase the speed to medium-high, and beat for about 3 minutes, or until the frosting is light and fluffy.
10. To assemble the cake, place 1 cake layer on a serving plate. Pile the lemon filling onto the center using a small offset metal spatula, and spread it into an even layer, leaving a 1-inch border around the edge of the cake layer. Top with the second cake layer. Frost the top and sides of the cake with the lemon frosting. (If some of the filling oozes out from the middle, just blend it with the frosting around the sides of the cake.) Serve the cake immediately, or refrigerate and bring to room temperature before serving.