Uvm_monitor and class parameter

In reply to verif_learner:

In reply to dave_59:
I am not sure what UVM source code is going to tell me additionally when I already know that uvm_monitor does not have any parameter. In fact, my question was the reasoning behind having parameterized class for driver and not for monitor. It’s more to understand the design philosophy rather than to understand what is already there or not there.
Probably, I should post this question in Accelera forum and see what they say.

See here the source code:

virtual class uvm_monitor extends uvm_component;

  // Function: new
  //
  // Creates and initializes an instance of this class using the normal
  // constructor arguments for <uvm_component>: ~name~ is the name of the
  // instance, and ~parent~ is the handle to the hierarchical parent, if any.

  function new (string name, uvm_component parent);
    super.new(name, parent);
  endfunction

  const static string type_name = "uvm_monitor";

  virtual function string get_type_name ();
    return type_name;
  endfunction

endclass

Don’t consider this as a limitation. In reality it gives you all the freedom you need.