我有一个名为BitmapZone的Bitmap类的包装器类。
假设我们有一个WIDTH x HEIGHT位图图片,则该包装类应用于允许我自己发送给其他方法/类而不是原始位图。然后,我可以更好地控制用户是否可以处理图片(并且不必为每个方法/类多次复制位图来发送)。
我的问题是:知道所有BitmapZone都是从位图创建的,您觉得更可取的是什么?
构造函数语法:类似
BitmapZone bitmapZone = new BitmapZone(originalBitmap, x, y, width, height);
工厂方法模式:
BitmapZone bitmapZone = BitmapZone.From(originalBitmap, x , y, width, height);
工厂方法模式:
BitmapZone bitmapZone = BitmapZone.FromBitmap(originalBitmap, x, y, width, height);
其他?为什么?
谢谢
最佳答案
将方法放在Bitmap
而不是BitmapZone
中。
BitmapZone bitmapZone = originalBitmap.GetZone(x, y)
您自己说过:“每个BitmapZone都是从位图创建的”。这样,您就可以从五个参数转到两个参数,因为您不需要传递位图,并且每个位图大概都知道自己的宽度和高度。
(否则,您打算如何做?
new BitmapZone(originalBitmap, x, y, originalBitmap.Width, originalBitmap.Height)
?丑陋。)如果您不能更改Bitmap类,则将其设为扩展方法(当然,这在Java中不起作用)。