The worrying thing is not so much that the constructor has 50 parameters (after all, a constructors with a parameter for each data member is a fairly common practice), but that presumably the class in question has 50 data members.
The only time I've seen this sort of thing in a reasonably well-designed system is as part of an object/relational mapping layer. Those 50 parameters match up with the 50 columns of a database table.
If this an internal model class, it sounds distinctly strange. Can you tell us more about what it is used for?
Normalization is often one of the first things thrown out in order to improve performance...
Without knowing more, it is hard to tell if having so many items in the constructor is good or bad. Can some of the arguments be grouped together into objects themselves, and then use a composition relationship?
In the same vein, it is not good data design to have about 50 columns in a database table. More than likely the data model is not normalized properly.
well actually no, it is a "highly" (well read overly here) normalized database. However data related to "one transaction" IS huge as it has multiple subsets of data. but instead of these subtype object of their own they are being stored as primitives in master transaction. I still don't buy into constructor with too many parameters.