title: Defining child views without an initialize method
body: <p>I have a large number of views (more than 50) which all extend from a single abstract base view, and therefore have a similar layout and many other features in common (event handlers, some custom methods and properties, etc). </p>
  
  <p>I am presently using the <code>initialize</code> method of my base view to define the layout, which involves a subview, somewhat like the following:</p>
  
  <pre><code>App.BaseView = Backbone.View.extend({
  
    //...
  
    initialize: function() {
      this.subView = new App.SubView();
    },
  
    render: function() {
      this.$el.html(this.template(this.model.toJSON()));
      this.subView.$el = this.$('#subview-container');
      this.subView.render();
      return this;
    },
  
    //...
  
  });
  </code></pre>
  
  <p>I find, however, that for many views which extend my base view I need to override the <code>initialize</code> method, which calls the base class <code>initialize</code> (I also extend my <code>events</code> hash quite often as well). I dislike having to do this, especially with so many views which extend the base class. </p>
  
  <p>In <a href="https://github.com/jashkenas/backbone/issues/1462#issuecomment-6658643" rel="nofollow noreferrer">this post</a> from a Backbone Github repository issue Derick Bailey says:</p>
  
  <blockquote>
    <p>I'm also not a fan of requiring extending classes to call super
    methods for something like <code>initialize</code>. This method is so basic and
    so fundamental to any object that extends from a Backbone construct.
    It should never be implemented by a base type - a type that is built
    with the explicit intent of never being instantiated directly, but
    always extended from.</p>
  </blockquote>
  
  <p>So on this model I should be able to have an <code>initialize</code> available for each inheriting view class. This makes perfect sense to me; but how can I then implement the kind of general layout I need for my inheriting views? In the <code>constructor</code> method? </p>
  
  <p>I don't know if what I want might be possible out-of-the-box with something like Marionette or LayoutManager, both of which I've briefly looked at but never used, but <strong>I would much prefer doing this in vanilla Backbone at the moment</strong>.</p>