6237 Programmering II (Csharp) Agenda/Controller class

From Teknologisk videncenter
Jump to: navigation, search

Controller class

I de løsninger vi indtil nu har arbejdet med har en stor del at koden ligget i Main. Det er i midlertid ikke den bedste løsning hvis det vi laver skal kunne genbruges.
I stedet laver vi en kontroller klasse som indeholder de kan læse logfilen oprette listen af logs og søge i logs.
Modellen ser således ud i UML


6237 Programmering II ctrluml.png

class LogCtrl
{
	private List<Log> Logs;
	
	public void ReadLogFile(String fileName)
	{
		//Her skrives det kode fra main som læser logfilen
	}

	private void analyze(List<String> lines)
	{
		if (lines.Count < 2) return;
		String protocol = lines[1].Substring(67, 9);
		String source = lines[1].Substring(22, 23);
		String destination = lines[1].Substring(44, 23);
		Log log = new Log(source, destination, protocol);
		logs.Add(log);
		.....
		.....
	}
	
	public List<Log> FindLogs(String source, String destination, String protocol)
	{
		//Din søge kode
	}
}

static void Main(string[] args)
{
	LogCtrl lCtrl = new LogCtrl();
	lCtrl.ReadLogFile("logfile.txt");
	List<Log> logLst = lCtrl.FindLogsByProtocol("","","DNS");
}