  We present a detailed study of non-leptonic two-body decays of B mesons based
on a generalized factorization hypothesis. We discuss the structure of
non-factorizable corrections and present arguments in favour of a simple
phenomenological description of their effects. To evaluate the relevant
transition form factors in the factorized decay amplitudes, we use information
extracted from semileptonic decays and incorporate constraints imposed by
heavy-quark symmetry. We discuss tests of the factorization hypothesis and show
how unknown decay constants may be determined from non-leptonic decays. In
particular, we find f_{Ds}=(234+-25) MeV and f_{Ds*}=(271+-33) MeV.
