Bom tarde pessoal!
Estava precisando de ajuda para passar um código em C# para Java. Sei apenas o Java, então estou passando dificuldade com a outra liguagem. Esse código é para um trabalho sobre Padrões de Projetos, no qual, o objeto de estudo é o padrão Proxy.
using System;
namespace ProxyPattern
{
public interface Imagem
{
void Exibir();
}
public class ImagemArquivo : Imagem
{
public string NomeArquivo { get; private set; }
private byte[] _file;
public ImagemArquivo(string nomeArquivo)
{
NomeArquivo = nomeArquivo;
_file = new byte[0];
}
public void Exibir()
{
Console.WriteLine($"Arquivo carregado {NomeArquivo} com {_file.Length} bytes.");
}
public void Carregar()
{
_file = System.IO.File.ReadAllBytes(NomeArquivo);
}
}
public class ImagemProxy : Imagem
{
public string NomeArquivo { get; private set; }
private ImagemArquivo _imagemInstance;
public ImagemProxy(string nomeArquivo)
{
NomeArquivo = nomeArquivo;
}
public void Exibir()
{
if (_imagemInstance == null)
{
_imagemInstance = new ImagemArquivo(NomeArquivo);
_imagemInstance.Carregar();
}
_imagemInstance.Exibir();
}
}
class Program
{
static void Main(string[] args)
{
var imagem = new ImagemProxy("C:\\teste.jpg");
imagem.Exibir();
}
}
}